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

    В номинации:
    За время:
  2. 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)
  3. 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)
  4. JavaScript / Говнокод #2196

    +157.5

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

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

    VermiVermi, 30 Ноября 2009

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

    +92.4

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

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

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

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

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

    +155

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

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

    matveev, 18 Ноября 2009

    Комментарии (13)
  7. Си / Говнокод #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)
  8. Java / Говнокод #2124

    +86.5

    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
    /**
     * константы платежей
     *
     * @author eav
     */
    public interface PaymentsConstants {
    	// какие-то цифры %)
    	static final String _25 = "25";
    	static final String _21 = "21";
    	static final String _27 = "27";
    	static final String _26 = "26";
    	static final String _93 = "93";
    	static final String _78 = "78";
    	static final String _80 = "80";
    	static final String _98 = "98";
    	static final String _81 = "81";
    	static final String _13 = "13";
    	static final String _12 = "12";
    	static final String _95 = "95";
    	static final String _20 = "20";
    	static final String _23 = "23";
    	static final String _53 = "53";
    	static final String _112 = "112";
    
    	static final String _270900 = "270900";
    	static final String _2710 = "2710";
    	static final String _2711210000 = "2711210000";
    	static final String _4907001010 = "4907001010";
    	static final String _4820409000 = "4820409000";
    	static final String _4907009000 = "4907009000";
    
    	// страны
    	static final String TM = "TM";
    	static final String AM = "AM";
    	static final String TJ = "TJ";
    	static final String UZ = "UZ";
    	static final String KG = "KG";
    	static final String AZ = "AZ";
    	static final String GE = "GE";
    	static final String UA = "UA";
    	static final String MD = "MD";
    	static final String BY = "BY";
    	static final String KZ = "KZ";
    
    	static final String ВРЕМ = "Врем";
    	static final String КОМП = "Комп";
    	static final String ДЕМП = "Демп";
    	static final String АКЦИЗ = "Акциз";
    
    	static final String УН = "УН";
    	static final String ИП = "ИП";
    
    	// импорт/экспорт
    	static final String ЭК = "ЭК";
    	static final String ИМ = "ИМ";
    }

    Тихий ужас...

    ctepx, 11 Ноября 2009

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

    +68.4

    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
    char rc;
    ...
    bool ResourceManager()
    {
    	static TResourceRC r;
    	...
    	delete r;
    	...
    	r=new TResourceRC(rc);
    	...
    	return true;
    	assert(false);
    };
    ...

    От предков проект достался. Я думал, чего он переодически необьяснимо глючит...
    ResourceManager() - вызываеться регулярно в цикле.

    Говногость, 11 Ноября 2009

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

    +84.7

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    const
       found=true;
       false=true;
    //лжи нет, да будет только правда....
    .....

    препод долго немог понять как программа вообще работает
    %DarkSvesh

    darksvesh, 07 Ноября 2009

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

    +75.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
    boolean isCustomerWMIDExists = containParameterWithName( request, CUSTOMER_WMID_PARAM_NAME );
    boolean isSellerWMIDExists = containParameterWithName( request, SELLER_WMID_PARAM_NAME );
    boolean isPurseExists = containParameterWithName( request, PURSE_PARAM_NAME );
    boolean isDescriptionExists = containParameterWithName( request, BasePaymentSystem.DESCRIPTION_PARAM_NAME );
    boolean isInvAddressExists = containParameterWithName( request, INVADDRESS_PARAM_NAME );
    boolean isPeriodExists = containParameterWithName( request, PERIOD_PARAM_NAME );
    boolean isExperationExists = containParameterWithName( request, EXPERATION_PARAM_NAME );
    boolean isDateCrtExists = containParameterWithName( request, DATECRT_PARAM_NAME );
    boolean isDateUpdExists = containParameterWithName( request, DATEUPD_PARAM_NAME );
    boolean isWmInvIdExists = containParameterWithName( request, INVID_PARAM_NAME );
    boolean isRequestNExists = containParameterWithName( request, REQUESTN_PARAM_NAME );
    boolean isProjectIdExists = containParameterWithName( request, BasePaymentSystem.PROJECTID_PARAM_NAME );
    boolean isUserIdExists = containParameterWithName( request, BasePaymentSystem.USERID_PARAM_NAME );
    boolean isCurrencyExists = containParameterWithName( request, CURRENCY_PARAM_NAME );
    
    if (isCustomerWMIDExists && isSellerWMIDExists && isPurseExists && isDescriptionExists && isInvAddressExists && isPeriodExists
    		&& isExperationExists && isDateCrtExists && isDateUpdExists && isWmInvIdExists && isRequestNExists && isProjectIdExists
    		&& isUserIdExists && isCurrencyExists)
    {
    	wminfo.setCustomerWMID( request.getParameter( CUSTOMER_WMID_PARAM_NAME ) );
    	wminfo.setSellerWMID( request.getParameter( SELLER_WMID_PARAM_NAME ) );
    	wminfo.setPurse( request.getParameter( PURSE_PARAM_NAME ) );
    	wminfo.setDescription( request.getParameter( BasePaymentSystem.DESCRIPTION_PARAM_NAME ) );
    	wminfo.setInvAddress( request.getParameter( INVADDRESS_PARAM_NAME ) );
    	wminfo.setPeriod( Byte.parseByte( request.getParameter( PERIOD_PARAM_NAME ) ) );
    	wminfo.setExperation( Byte.parseByte( request.getParameter( EXPERATION_PARAM_NAME ) ) );
    	wminfo.setDateCrt( ( getWebMoneyDateString( Long.parseLong( request.getParameter( DATECRT_PARAM_NAME ) ) ) ) );
    	wminfo.setDateUpd( ( getWebMoneyDateString( Long.parseLong( request.getParameter( DATEUPD_PARAM_NAME ) ) ) ) );
    
    	wminfo.setWmInvID( request.getParameter( INVID_PARAM_NAME ) );
    	wminfo.setRequestN( Long.parseLong( request.getParameter( REQUESTN_PARAM_NAME ) ) );
    	wminfo.setCurrency( Currency.getInstance( request.getParameter( CURRENCY_PARAM_NAME ) ) );
    	...
    }

    Разбор параметров GET-запроса, переданных из http://govnokod.ru/2015
    // не дай бог, начальство заметит, что я рабочий код публикую

    spbAngel, 21 Октября 2009

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