1. C++ / Говнокод #12480

    +32

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    // *.h
    class MyClass {
    
    public:
    	MyClass ();
    	~MyClass ();
    	// ..etc
    
    };
    
    // *.cpp
    #include "*.h"
    
    MyClass *mycl;
    
    MyClass::MyClass ()
    {
    	mycl=this; // эту строчку не удалять без нее не работает, точнее не всегда работает иногда сбоит
    }
    
    MyClass::~MyClass ()
    {
    }

    Простите меня пожалуйста. Я уныл чуть мене чем полностью, но почему человек которые это написал хороший программист. Это писал не я. Извините пожалуйста за беспокойство :( ..

    Запостил: neudachnik, 25 Января 2013

    Комментарии (87) RSS

    • Комментарий оставлен из оригинала.
      Ответить
      • Да в комментарии самый сок!
        Ответить
        • Да хрен с ним с комментарием. Я как мудак попробовал возразить что мол как бы это того этого (я мямля, да..) и получил пизды. Ответ: - Иди на хуй ты не понимаешь. И я пошел.. :(
          Ответить
          • > Иди на хуй ты не понимаешь.
            Меняй работу. С такими отношениями лучше сберечь свое время и нервы и уйти.
            Ответить
            • Понимаете ли в чем дело. Я же видимо еще хуже. Зарплата у меня ниже раза в два, но я не могу уйти. Я ссыкло. Мне страшно остаться без работы потому что я не специалист хорошего уровня, которому легко устроиться. Я просто мудак и мне обидно что я буду в мыле искать другую работу, а за такой код люди денежку получать будут. Вот и все. В общем тихий бля пиздец. Неудачник..
              Ответить
              • кто виноват в том, что не специалист хорошего уровня?
                в 30-то лет!
                рутина засосала

                у меня на работе был когда-то период, когда я ничего не решал, а тот код, который приходилось писать/дописывать, меня вообще не развивал как специалиста
                печальное время
                Ответить
                • А у меня сейчас грустная ситуация - мой любимый сервер, на который я по ночам ставил обновления, телепортировали в другой город, активных системнопрограммистских проектов, в которых я бы принимал участие нету...

                  Сижу сейчас в качестве ТП (саппорта, а не того, что первое приходит в голову), когда не звонят - привожу скрипты на серверах, да документацию на локальной вики в порядок, ну и, когда время есть, читаю что-нибудь для самообразования, да на говнокодик заглядываю...

                  Надо уезжать из нашего мухосранска, хоть и сам городок мне нравится, и коллеги хорошие...
                  Ответить
                  • судя по hh в новосибе/омске действительно не густо с вакансиями
                    с другой стороны, местные работодатели про hh могут и не знать вовсе
                    Ответить
              • 1) Поднимай самооценку.
                2) Всё равно вали. Не устроитесь в по той тому же профилю, устроитесь по другому.
                Ответить
    • Омг. А кто создает экземпляр MyClass? Один ли он на всю программу? Пользуется ли кто-то переменной mycl?
      Ответить
      • Да он один. Там экземпляры всех "классов" по одному (почти). И вся программа в extern MyClass *mycl; и подобном. Я не то чтобы жалуюсь, мне просто обидно и все. Да я лох. Да я НЕ высококвалифицированный специалист, как оно, но я не понимаю как это может быть программист. :(
        Ответить
      • Если быть точным: в программе нет НИ ОДНОГО экземляра.
        Ответить
    • это синглтон для молодых, дерзких и успешных
      Ответить
      • показать все, что скрытоТ.е. это нормально?! И так вот это.. Бля я лох..
        Ответить
        • Нет сударь, вы тролль.
          Ответить
        • если ты уже немолод, не дерзок и живёшь с бабушкой, то этот синглтон не для тебя!
          Ответить
          • показать все, что скрытоМне 30 лет. я бородат. живу один. Вот потому что мне обидно и я не понимаю я и останусь унылым говном. Такого я не писал и напишу ни когда. Да я костыли в детстве такие лепил караул. Но это перебор и я не могу этого "программиста" понять и не могу понять почему оно работает и получает зароботную плату.
            Ответить
            • > почему оно работает и получает зароботную плату.
              Потому что оно знает куда вставить строчку так, чтобы не сбоило.
              Ответить
              • показать все, что скрытоА вот это видимо самое важное. Я так сразу не умею. Вы правы.
                Ответить
                • Доктор пациенту:
                  - у Вас есть одна проблема, Вы со всем соглашаетесь.
                  - да, доктор, это действительно так...
                  Ответить
              • Вставь строчку, получи зарОботную плату.
                Ответить
                • показать все, что скрытоДа. Простите. 'A'.
                  Ответить
                • > зарОботную плату
                  Плату за робота. Если ты оставляешь своего робота кому-то на поюзать, то потом этот знакомый тебе платит зарОботную плату.
                  Ответить
                  • день доброты на говнокоде
                    пошутил - получи плюс
                    Ответить
                  • Гипотетически, что "заработная", что "зароботная" - суть одна.
                    Ответить
                • Вставь строчку в код, чтобы не сбоило, и начальство не вставит тебе столбик.
                  Ответить
            • если этот "программист" "старше" и его с высокой долей вероятности не уволят, то проще сменить работу
              Ответить
            • Ты по ходу толстый тролль)))) Иначе я не могу обьяснить ну столь хрестоматийный пример комплекса неудачника.
              Ответить
              • Весь прикол в том, что я действительно встречал такого человека :D
                Ответить
    • бить за такое проггера.
      если поверить в "Если быть точным: в программе нет НИ ОДНОГО экземляра." -- дважды бить, но это вряд ли.

      но и доблестного ТС бить за некомпетентность.
      Ответить
      • Там действительно все указатели вот так вот "инициализируются" :(
        Есть даже констурктор с двумя ассигнами: mycl1=this, mycl2=this; Вот так вот.. Меня за что бить то? Я и так ничтожество..
        Ответить
        • Кто ты? Ты на табуретке на работе случайно не сидишь?
          Ответить
          • Нет. Не сижу. Я побольшей части стою. Я не могу взять в толк как такой "код" можно вообще писать и выдавать за чистую монету? Как?
            main выглядит примерно так:

            #include 
            
            extern MyClass *mycl;
            extern MyClass2 *mycl2;
            extern MyClass3 *mycl3;
            
            int main ()
            {
                mycl->%method name%; 
                mycl2->%method name%; 
                mycl3->%method name%;
                // ..etc
            }

            все..
            Ответить
            • > Нет. Не сижу. Я побольшей части стою.
              Почему?
              Ответить
              • > Почему?
                Видимо табуретку унесло нечто называющее себя программистом.
                Ответить
                • Может задница мерзнет? Кармак стоически стоя программировал свой квейк
                  Ответить
                  • > Кармак стоически стоя программировал свой квейк
                    Можно пруф?
                    Ответить
                    • Прочитай его книгу. Он там написал даже как убил свою кошку
                      Ответить
            • Delphi/CBuilder style. Там же как раз по дефолту запилено по экземпляру каждой формы/датамодуля, и эти экземпляры валяются в глобальных переменных form1, form2, dataModule1 и т.п. Походу автор кода пришел именно с этой платформы.
              Ответить
              • Поставил ради интереса 6 builder, да действительно в проекте по умолчанию так и есть extern TForm form1;
                Это что кошерно? Ну Borland говна не лепит..
                Ответить
                • > Это что кошерно?
                  Нет. Это ебаный пиздец. И я даже знаю почему автор кода заполняет эти переменные из конструктора - он походу из этого конструктора дергает что-то в соседних классах, а там пытаются прочесть ту самую extern переменную...
                  Ответить
    • Наследие такое наследие. Можно и мне тоже поплакаться? Осталась мне в "поддержку" парочка проектов...
      Первой резко ударила по глазам изнасилованная капсом и избитая транслитом орфография. Скрепя седрце, я взял лопату и попытался приступить к "рефакторингу", если это так можно назвать. Оно компилируется и запускается, ткнем в какое-нибудь предупреждение.
      int Class::method()
      {
      	doSomeShit();
      }

      Вероятно, я слишком разнежен современными компиляторами и не знаю ни стандарта, ни особенностей его реализации в шестом билдере. Пойдем дальше.
      using namespace std;

      Хорошо, он пользуется STL, а не конструирует свои велосипеды с особым вектором на malloc, realloc и free. А то, что эта строка в заголовочнике - так я и сам когда-то так делал, поэтому не имею права никого судить. Кстати, вот и первый встреченный мной контейнер; используется он в одном таком месте, которое настолько горячее, что и без профилировщика видно.
      list<Type> myList;
      //...
      if(myList.size() != 0)
      {
      	for(int i = 0; i < myList.size(); i++)
      	{
      		//обращение к элементам через myList[i].
      	}
      }
      //...
      while(myList.size() != 0)
      {
      	anotherList.push_back(myList.front());
      	myList.pop();
      }

      Заменить список на вектор и переписать итерирование оказалось несложно, но нервы начали сдавать. Дальше меня ждал огромный switch-case-case-...-case, который играл роль полиморфизма; во всех проектах таких оказалось несколько. Может быть, я недостаточно умен или не обладаю каким-то особым даром? До меня не доходит, как вокруг (плюс-минус) двадцати объектов можно было нагородить пятнадцать абстракций? А сами объекты ссылаются друг на друга посредством указателей на void (Боже, храни RTTI!).
      Спасибо за внимание и... извините. Я уже не знаю, что делать.
      Ответить
      • >объекты ссылаются друг на друга посредством указателей на void
        это из-за циклических зависимостей, а про forward declaration быдлокодеры не слышали
        Ответить
      • > Вероятно, я слишком разнежен современными компиляторами и не знаю ни стандарта, ни особенностей его реализации в шестом билдере.
        Кстати в гцц по дефолту (без -Werror=return-type) это тоже всего лишь ворнинг. Сам налетал на такую фигню несколько раз, когда отвлекали от написания функции, хорошо что есть привычка читать ворнинги.
        Ответить
    • Что-то подобное используется и в QCoreApplication. Точнее только в QCoreApplication.

      Судя по анамнезу у пациента набдюдается неоперабельный сингелтонизм головного мозга. Говорят, что доктору Фаулеру удалось вылечить пациента, но его никто не узнал. Но лучше эвтаназипам внутривенно
      Ответить
      • показать все, что скрытоВ ответ на мое: ... синглтон... я услышал: сингел што? ха ха ха.. И в курилке все отвернулись и продолжили обсуждение нового Forda Kuga. А когда я ехал на трамвае домой, мне отдавили ногу, трещина. Вот так и живем. Больничный..
        Ответить
        • От того что ты будешь жаловаться и ничего не делать - ничего не изменится. Пока больничный - читай какая работа есть в городе (или может быть в крупном городе поблизости, если есть возможность переехать), рассылай резюме, обзванивай конторы... В свободное время поднимай уровень знаний вместо того чтобы жаловаться на судьбу. Кто ищет - тот всегда найдет.
          Ответить
          • @bormand, хватит уже кормить тролля, у меня жир течёт по экрану
            Ответить
            • > хватит уже кормить тролля
              А вдруг это не тролль, а настоящий неудачник?
              Ответить
            • Поверьте, сударь, так бывает.. Ну, а что я могу? Ни чего! Хэллоуворлдщик прыщавый. Ни черта не могу. @bormand: да ну к черту все буду сидеть, а что, мне деньги платят платят! Больше я ни где со своими "знаниями" не найду, а программа работает - работает, ну и в жопу все..
              Ответить
              • > Больше я ни где со своими "знаниями" не найду
                Так читай книжки, пытайся что-нибудь интересное накодить, займись фрилансом в свободное время в конце концов.

                Открою тебе страшную тайну - после универа ни у кого нет достаточных знаний. Если у кого и есть - так потому что он занимался самостоятельно, или уже где-то успел поработать. Поэтому хватит страдать хуйней и плакаться в жилетку, займись уже чем-то полезным.
                Ответить
              • bormand дело говорит. Слушай его и делай то что он говорит.
                Ответить
                • А по мне - советы дрянь. Как там говорят? Вдоль, не поперёк, кажется.
                  Ответить
    • > Извините пожалуйста за беспокойство :( ..

      Вы бы лучше за отсутствие знаков препинания извинились. Кстати, комментарий к коду тоже, подозрительно, без них.
      Ответить
      • Вы думаете от расстановки знаков препинания моя зарплата вырастет? Самооценка вырастет? Увы, ни как не вырастет..
        Ответить
        • Мне лично всё равно, что у вас там вырастет, но от знаков препинания зависит понимание ваших текстов другими людьми. От орфографии тоже, кстати. "ЗарОботная плата", "ни_как не вырастет"... facepalm.jpg.
          Ответить
          • Хорошо, что не "выростет".
            Предлагаю собрать единый grammar nazi фронт и перейти в наступление.
            Ответить
          • показать все, что скрытоМне хотелось бы всегда молчать. Просто, всегда! Мне вообще лень рот открывать, дабы хоть что-то произнести. А вы про знаки препинания.. Мне лень.
            Ответить
    • Ты ещё скажи, что у тебя нет тян.
      Ответить
      • показать все, что скрытоНет у меня бабы. Я в жизни один раз только трахался, c одно телкой, она старше меня на 8 лет и все, а было это 6 лет назад. Я не пидар. Мне не дают бабы потому что я жирный урод.
        Ответить
        • Попрактикуйся в прогроммировании (поможет с работой) и купи себе мотоцикл (бабы клюют).
          Ответить
          • Создай дома романтическую атмосферу: ковры, благовония, блудницы...
            Ответить
          • > и купи себе мотоцикл
            И вообще - вдоль, а не поперёк.
            Ответить
            • Вены резать чтоли?
              Ответить
              • Да, например. Это надёжнее, чем мотоцикл.
                Ответить
                • Тарасыку, ты че эмогерлов снимаеш - я других девушек не представляю которые бы на резаные вены западали.
                  Ответить
                  • Ты не понял. Вены вдоль убивает более надежно и безболезнено, чем мотоцикл. Мотоцикл может оставить тебя калекой или помучать перед смертью.
                    Ответить
                    • Ну почему когда я думаю о жизни, другие думают о смерти - почему когда я представляю покатушки на выходных, внимание девченок - другие представляют меня распидорашеного по асфальту :(
                      Ответить
            • Слышь, а ты тоже с Лора?
              Ответить
          • Зачем они его клюют? :/
            Ему и так плохо, а Вы - клевать его советуете (
            Ответить
    • Есть два шара. Я моделирую. Как кинуть палку?
      Ответить

    Добавить комментарий