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

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

    +168

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    function confirmDialog(sMessage) {
        if (confirm(sMessage)) {
            return true;
        } else {
            return false;
        }
    }

    Lokich, 19 Сентября 2012

    Комментарии (12)
  3. C# / Говнокод #11760

    +140

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    private void SendFile(string root, string url, DateTime dateTimeBegin)
    {
    	if ( ... isSend ... )
    	{
    		...MoveToArchive();
    		...Dispose();
    	}
    	else
    	{
    		SendFile(root, url, dateTimeBegin);
    	}
    }

    Ну тут всё ясно...
    Если файлики отсылаются нормально, то всё работает хорошо.
    Зато если файлики не отсылаются, то начинается злая рекурсия, которая постепенно сжирает всю память :).

    ddv_demon, 13 Сентября 2012

    Комментарии (12)
  4. Си / Говнокод #11710

    +116

    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
    #define KRATNOST6_STEPE32_(VAL) \ 
      (                            \ 
      (\ 
      (VAL/32*32)+(((VAL/32)^1)*(\ 
        (VAL/16*16)+(((VAL/16)^1)*(\ 
          (VAL/8*8)+(((VAL/8)^1)*(\ 
            (VAL/4*4)+(((VAL/4)^1)*(\ 
              (VAL/2*2)\ 
            ))\ 
          ))\ 
        ))\ 
      ))\ 
      )\ 
      +\ 
      ((\ 
      (VAL/32)+(((VAL/32)^1)*(\ 
        (VAL/16)+(((VAL/16)^1)*(\ 
          (VAL/8)+(((VAL/8)^1)*(\ 
            (VAL/4)+(((VAL/4)^1)*(\ 
              (VAL/2)\ 
            ))\ 
          ))\ 
        ))\ 
      ))\ 
      )^1)*32\ 
      ) 
    #define KRATNOST6_STEPE32(MAX_STEPEN6,VAL) KRATNOST6_STEPE32_(((int)VAL&((1<<(MAX_STEPEN6+1))-1)))

    Вычисление ближайшей кратности к степ 2 в препроцессоре, такую байду сорудил. (не знаю правильно ли выразился)
    Тут максимальная 32. Если есть выше то вот тут выставляется 32 всёравно.

    Проще не варик?

    TarasB, 05 Сентября 2012

    Комментарии (12)
  5. PHP / Говнокод #11646

    +62

    1. 1
    2. 2
    3. 3
    4. 4
    $date = substr($row[date], 0, 16);
    $dat1 = explode(" ", $date);
    $dat = explode("-", $dat1[0]);
    $date = "$dat[2]/$dat[1]/$dat[0]";

    Изящно

    kindofbear, 24 Августа 2012

    Комментарии (12)
  6. Куча / Говнокод #11633

    +115

    1. 1
    2. 2
    3. 3
    4. 4
    -- Настало время запостить самое главное гавно Хаскеля:
    -- http://www.johndcook.com/blog/2010/05/18/pure-functions-have-side-effects/
    -- У чистых функций всегда есть side-effects, которые выражаются в пожирании памяти и CPU. 
    -- Очевидно конечно, но почему об этом не орут на первой странице каждой книги по функциональному программированию?

    Я проверил, код компилируется:
    http://ideone.com/sozuV

    HaskellGovno, 23 Августа 2012

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

    +20

    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
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    class NetGetPlmnListReply: public Message {
                    public:
                        virtual uint8_t command() const;
                        virtual uint8_t subcommand() const;
                        virtual RequestType requestType() const;
                        virtual bool deliver(IUnsolicitedReceiver *receiver);
    
                        static inline bool isTypeOf(Message *message) {
                            return message->command() == 8 && message->subcommand() == 4;
                        }
    
    
    
    std::string inspect() const;
    bool writeToStream(DataStream &stream);
    bool readFromStream(DataStream &stream);
    
    
    
            inline uint8_t count() const { return m_count; }
            inline void setCount(uint8_t count) { m_count = count; }
    
    
    
    
                class PlmnListItem {
                public:
    
    
    std::string inspect() const;
    bool writeToStream(DataStream &stream);
    bool readFromStream(DataStream &stream);
    
    
    
            enum Status {
    
                    Available = 2,
    
                    Current = 3,
    
                    Forbidden = 4,
    
            };
    
            inline Status status() const { return (Status) m_status; }
            inline void setStatus(Status status) { m_status = (uint8_t) status; }
    
    
    
    
    
            inline const std::vector<unsigned char> &plmn() const { return m_plmn; }
            inline void setPlmn(const std::vector<unsigned char> &plmn) { m_plmn = plmn; }
    
    
    private:
    
    
            uint8_t m_status;
    
    
    
            std::vector<unsigned char> m_plmn;
    
    
    
                };
    
    
            inline const std::vector<PlmnListItem> &plmnList() const { return m_plmnList; }
            inline void setPlmnList(const std::vector<PlmnListItem> &plmnList) { m_plmnList = plmnList; }
    
    
    
    private:
    
    
            uint8_t m_count;
    
    
    
            std::vector<PlmnListItem> m_plmnList;
    
    
    
                    };

    Один из тысячи сгенерированных классов.

    Grindars, 18 Августа 2012

    Комментарии (12)
  8. 1C / Говнокод #11558

    −119

    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
    Перем СтрокаСрокДействия;
    
    Функция СтрокаСрокДействия()     
    
                Если ТекущийЭлемент().ФлагБессрочного = 1 Тогда
                      Если ПустоеЗначение(ТекущийЭлемент().СрокДействия.Получить(РабочаяДата())) = 1 Тогда
                            СтрокаСрокДействия = "от "+ ТекущийЭлемент().ДатаДоговора+" до ";
                      Иначе
                            СтрокаСрокДействия = "от "+ ТекущийЭлемент().ДатаДоговора+" до "+ТекущийЭлемент().СрокДействия.Получить(РабочаяДата());
                      КонецЕсли;
                ИначеЕсли ТекущийЭлемент().ФлагБессрочного = 2 Тогда
                      СтрокаСрокДействия = "бессрочно"; 
                ИначеЕсли ТекущийЭлемент().ФлагБессрочного = 3 Тогда
                      СтрокаСрокДействия = "пролонгируемый";
                КонецЕсли;     
    
          Возврат(СтрокаСрокДействия);           
    
    КонецФункции

    1C 7.7 Такая расчудесная функция была в модуле формы списка справочника. Функция была назначена на текстовое поле формы списка... И таким образом при пролистывании формы списка, в поле "Срок действия" непонятным образом попадали абсолютно левые значения, но зато в каждой из строк было одно и то же до следующего пролистывания...

    ok0504, 09 Августа 2012

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

    +131

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    if (Cache[articlesRssData] != null)
    {
         return Cache[articlesRssData] as ArticleRssData?;
    }
    
    return null;

    uusb, 08 Августа 2012

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

    +64

    1. 1
    2. 2
    3. 3
    $is_root = ($node_id == 0) ? 'yes' : ''; 
    //и потом..
    if (!is_null($name_node) && $is_root != 'yes') {

    Есть у меня падаван-джуниор, девушка. Есть вот в коде перлы типа такого.
    булеан, не не слышал =\ И не понятно почему yes и пустая строка, пусть бы было уже yes и no.. Женская логика?

    vitaly, 31 Июля 2012

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

    +77

    1. 1
    2. 2
    3. 3
    4. 4
    @Override
    public String toString(){
            return this.toString();
    }

    хуита, 27 Июля 2012

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