1. Лучший говнокод

    В номинации:
    За время:
  2. Ruby / Говнокод #2416

    −131.4

    1. 1
    some_variable = (some_condition && some_other_condition) ? true : false

    Иногда встречаю ГК подобный этому но реализованный в виде case..when. Еще более впечатляет :)

    shine, 15 Января 2010

    Комментарии (13)
  3. Python / Говнокод #2401

    −427.9

    1. 1
    2. 2
    f.write("#ifndef _" + fileouth.replace("/","_").replace(".", "_").upper() + "_\n")
    f.write("#define _" + fileouth.replace("/","_").replace(".", "_").upper() + "_\n")

    что еще сказать... видно человека не научили что копипастить плохо... и что бывает повторное испольхование кода...

    Pencioner, 13 Января 2010

    Комментарии (13)
  4. C++ / Говнокод #2384

    +144

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    void render_tee(/*<еще аргументы>*/, vec2 dir, vec2 pos)
    {
    	vec2 direction = dir;
    	vec2 position = pos;
    
                      //еще код
    }

    вот что я нашел в сорцах игрушки TeeWorlds

    danilissimus, 07 Января 2010

    Комментарии (13)
  5. C++ / Говнокод #2367

    +65.2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    case WM_DESTROY:
        // Microsoft, you MORONS! Don't destroy stuff I create!
        // Oh well, try to handle this as gracefully as possible so we
        // don't send any commands to the now non-existent window:
        tablet_close(hWnd);
        if (window) window->destroy();
        fl_prune_deferred_calls(hWnd);
        break;

    FLTK. В свое время заставило похихикать.

    Altravert, 04 Января 2010

    Комментарии (13)
  6. C++ / Говнокод #2363

    +55.3

    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
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    #define constuserColor "usercolor"
    #define consttagColor "tagcolor"
    #define constmsgColor "idcolor"
    #define constQcolor "quotecolor"
    #define constLcolor "linkcolor"
    #define constUbold "userbold"
    #define constTbold "tagbold"
    #define constMbold "idbold"
    #define constQbold "quotebold"
    #define constLbold "linkbold"
    #define constUitalic "useritalic"
    #define constTitalic "tagitalic"
    #define constMitalic "iditalic"
    #define constQitalic "quoteitalic"
    #define constLitalic "linkitalic"
    #define constUunderline "userunderline"
    #define constTunderline "tagunderline"
    #define constMunderline "idunderline"
    #define constQunderline "quoteunderline"
    #define constLunderline "linkunderline"
    #define constIdAsResource "idAsResource"
    #define constShowPhoto "showphoto"
    #define constShowAvatars "showavatars"
    #define constWorkInGroupchat "workingroupchat"
    #define constVersion "0.9.9"
    
    class JuickPlugin : public QObject, public PsiPlugin, public EventFilter, public OptionAccessor, public ActiveTabAccessor,
        public StanzaFilter, public ApplicationInfoAccessor
    {
            Q_OBJECT
            Q_INTERFACES(PsiPlugin EventFilter OptionAccessor ActiveTabAccessor StanzaFilter ApplicationInfoAccessor)
    
    public:
            JuickPlugin();
            virtual QString name() const;
            virtual QString shortName() const;
            virtual QString version() const;
            virtual QWidget* options();
            virtual bool enable();
            virtual bool disable();
            virtual void applyOptions();
            virtual void restoreOptions();
            virtual bool processEvent(int account, QDomElement& e);
            virtual bool processMessage(int account, const QString& fromJid, const QString& body, const QString& subject);
            // OptionAccessor
            virtual void setOptionAccessingHost(OptionAccessingHost* host);
            virtual void optionChanged(const QString& option);
            //ActiveTabAccessor
            virtual void setActiveTabAccessingHost(ActiveTabAccessingHost* host);
            //ApplicationInfoAccessor
            virtual void setApplicationInfoAccessingHost(ApplicationInfoAccessingHost* host);
    
            virtual bool incomingStanza(int account, const QDomElement& stanza);
            void elementFromString(QDomElement& body,QDomDocument e, QString& msg, QString jid, QString resource = "");
            void nl2br(QDomElement& body,QDomDocument e, QString msg);
            void addPlus(QDomElement& body,QDomDocument e, QString msg, QString jid, QString resource = "");
            void addSubscribe(QDomElement& body,QDomDocument e, QString msg, QString jid, QString resource = "");
            void addHttpLink(QDomElement& body,QDomDocument e, QString msg);
            void addTagLink(QDomElement& body,QDomDocument e, QString tag, QString jid);
            void addUserLink(QDomElement& body,QDomDocument e, QString nick, QString altText, QString pattern, QString jid);
            void addMessageId(QDomElement& body,QDomDocument e, QString mId, QString altText,QString pattern, QString jid, QString resource = "");
            void addUnsubscribe(QDomElement& body,QDomDocument e, QString msg, QString jid, QString resource = "");
            void addDelete(QDomElement& body,QDomDocument e, QString msg, QString jid, QString resource = "");
            void addFavorite(QDomElement& body,QDomDocument e, QString msg, QString jid, QString resource = "");

    Краткость - сестра таланта... Только видимо авторы этого чуда эту пословицу не знают.
    Да и количество непонятных макросов нам тоже намекает.
    Ну и конечно же необходимость в таком страшном множественном наследовании с возможностью рандомных побочных эффектов тоже намекает нам о говноархитектуре. В общем не зря авторы Psi решили начать писать новый клиент.

    Sauron, 01 Января 2010

    Комментарии (13)
  7. C++ / Говнокод #2272

    +146.2

    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
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    // Боярский языг.cpp : Defines the entry point for the console application.
    //
    
    // Не догадались, как избавиться от этих некрасивых инклудов :)
    #include "stdafx.h"
    #include <iostream>
    
    использовати площадь какобычно аминь1
    
    наместе двояко провѣрятичегоглаголют молчаливо
    кагбе
        ѣжѣли получалка.сломалася молчаливо тогдауж
        кагбе
          молвити "Не лепо молвишь, барин!" аминь1
          возвѣрнути нуль спасихоспади1
        ага
        возвѣрнути один аминь1
    ага
    
    цѣло голова(цѣло количество_указов, глаголют указы[])
    кагбе
      дваждыточно первыйсундук, второйсундук, отвѣт аминь1
      буквица знако спасихоспади1
      творити
      кагбе
        молвити "молви первый цифирь, барин: " аминь1
        получити первыйсундук аминь1
    
        ѣжѣли провѣрятичегоглаголют молчаливо еси ложъ тогдауж прѣрвати спасихоспади1
    
        молвити "молви деяние, барин: " аминь1
        получити знако спасихоспади1
    
        ѣжѣли провѣрятичегоглаголют молчаливо еси ложъ тогдауж прѣрвати спасихоспади1
    
        ѣжѣли знако еси 'q' тогдауж прѣрвати аминь1
    
        молвити "молви второй цифирь, барин: " аминь1
        получити второйсундук аминь1
        
        ѣжѣли провѣрятичегоглаголют молчаливо еси ложъ тогдауж прѣрвати спасихоспади1
    
        избирати знако
        тогдауж  кагбе
          выборъ '+' сталобыти
            отвѣт буде первыйсундук да второйсундук аминь1
            прѣрвати спасихоспади1
          выборъ '-' сталобыти
            отвѣт буде первыйсундук бѣзо второйсундук аминь1
            прѣрвати спасихоспади1
          выборъ '*' сталобыти
            отвѣт буде первыйсундук повторити_столько_сколько второйсундук аминь1
            прѣрвати спасихоспади1
          выборъ '/' сталобыти
            отвѣт буде первыйсундук убрати_столько_сколько второйсундук аминь1
            прѣрвати спасихоспади1
        ага
    
        молвити "Отвѣт есьм: " аминь1
        молвити отвѣт да_промолчати спасихоспади1
    
      ага
      пока (истино) аминь1
    
      возвѣрнути нуль спасихоспади1
    ага

    Простой калькулятор на " боярском" диалекте MSVС++

    Alice, 13 Декабря 2009

    Комментарии (13)
  8. JavaScript / Говнокод #2196

    +157.5

    1. 1
    2. 2
    3. 3
    function isDefined(variable) {
      return (!(!(variable||false)))
    }

    откопал в проекте... лично я смысла не вижу, мб кто-то расскажет под какой хитрый браузер или ситуацию это писалось? =)

    VermiVermi, 30 Ноября 2009

    Комментарии (13)
  9. Pascal / Говнокод #2179

    +92.4

    1. 1
    2. 2
    if (a<0) or (a=0) 
    then ...

    Почему в универститах вместо того, чтобы ставить автоматы за такие вещи, не оценивают оптимизацию кода?

    Теперь понятно почему когда берёшь чьи-нибудь сорцы, пытаешься час понять логику в 10 строчек.

    S@nderS, 25 Ноября 2009

    Комментарии (13)
  10. PHP / Говнокод #2154

    +155

    1. 1
    2. 2
    3. 3
    $bonus = "нет";
    $message = "";
    $message .= "<b>Бонус-код:</b> ".$bonus."<br><br>";

    Завидная стабильность.

    matveev, 18 Ноября 2009

    Комментарии (13)
  11. Си / Говнокод #2128

    +139.3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if (errno==EINTR) while (errno==EINTR)
         {
                fseek(fr,loffset,SEEK_SET);
                fgets(line_buffer,len,fr);
    }

    sacc - система биллинга для squid

    Одной проверки на ошибку - видимо, недостаточно

    fiss, 11 Ноября 2009

    Комментарии (13)