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

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

    +142

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    else{
    	// тот случай когда будет сразу нажата кнопка
    	// однако это будет перехватывать валидация на отправку
    	// в итоге сюда мы никогда не попадем
    }

    sevenflash, 02 Июня 2015

    Комментарии (78)
  3. JavaScript / Говнокод #17262

    +163

    1. 1
    2. 2
    3. 3
    4. 4
    $('.vse-zaeblo').click(function() {
            $.fancybox($(this));
            return false;
        });

    Получил задачу пофиксить сайт созданный другой компанией, заглянул в код и увидел самую первую функцию

    Xases, 05 Декабря 2014

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

    +64

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    #include <iostream>
    #include <typeinfo>
    
    struct Test {};
    
    int main()
    {
    	std::cout << typeid(int).name() << ", " << typeid(Test).name() << std::endl;
    }

    Очередные КРЕСТОПРОБЛЕМЫ.

    MSVC: int, struct Test
    GCC: i, 4Test

    http://ideone.com/KPsIlP

    Вот что говорит стандарт:

    The class type_info describes type information generated by the implementation. Objects of this class effectively store a pointer to a name for the type, and an encoded value suitable for comparing two types for equality or collating order. The names, encoding rule, and collating sequence for types are all unspecified and may differ between programs.

    RTTI ещё бесполезнее, чем я думала.

    someone, 18 Января 2014

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

    +126

    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
    using System.Management;
    
    try
    {
        ManagementObjectSearcher searcher =
            new ManagementObjectSearcher("root\\CIMV2",
            "SELECT * FROM Win32_DiskDrive");
    
        foreach(ManagementObject queryObj in searcher.Get())
        {
            foreach(ManagementObject o in queryObj.GetRelated("Win32_DiskPartition"))
            {
                foreach(ManagementBaseObject b in o.GetRelated("Win32_LogicalDisk"))
                {
                    Debug.WriteLine("    #Name: {0}", b["Name"]);
                }
            }
            // One of: USB, IDE
            Debug.WriteLine("Interface: {0}", queryObj["InterfaceType"]);
            Debug.WriteLine("--------------------------------------------");
        }
    }
    catch (ManagementException f)
    {
        Debug.WriteLine(f.StackTrace);

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

    WinApi для петушков.

    Stertor, 16 Октября 2013

    Комментарии (78)
  6. Python / Говнокод #12317

    −96

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    def run(self):
            count = 0
    
            while True:
                if count < 5:
                    self.saveUsers(self.queue.get())
                    count += 5
                else:
                    GlobalConfig().setUsers(self.db.selectUsers())
                    count = 0
    
            self.db.close()

    bool не нужен!

    voice, 19 Декабря 2012

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

    +18

    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
    bool isRightTriangle(int a, int b, int c)
    {
        int przeciw=a;
    	if (b>przeciw) przeciw = b;
    	if (c>przeciw) przeciw = c;
    
    	if (przeciw=a)
    		if (a*a==b*b+c*c) return true;
    	else if (przeciw=b)
    		if (b*b==a*a+c*c) return true;
    	else if (przeciw=c)
    		if (c*c==a*a+b*b) return true;
                
        return false;
    }

    Fai, 11 Ноября 2012

    Комментарии (78)
  8. Си / Говнокод #11398

    +113

    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
    #include <stdio.h>
     
    int main()
    {
            void say_hello()
            {
                    puts("Hello govnokod!");
            }
     
            say_hello();
    
    	return 0;
    }

    http://ideone.com/QZipp

    rat4, 11 Июля 2012

    Комментарии (78)
  9. Java / Говнокод #11301

    +83

    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
    private String toHTML(String unicode)
        {
            String output = "";
    
            char[] charArray = unicode.toCharArray();
    
            for (int i = 0; i < charArray.length; ++i)
            {                        
                if ((int)charArray[i]>255)
                {
                    String s = ""+Integer.toHexString(charArray[i]);
                    switch (s.length())
                    {
                        case 1: s="\\u000"+s; break;
                        case 2: s="\\u00"+s; break;
                        case 3: s="\\u0"+s; break;
                        case 4: s="\\u"+s; break;
                        default: throw new RuntimeException( s +" is tool long to be a Character");
                    }
                    output += s;
                }
                else
                {
                    output += charArray[i];
                }
                
            }
            return output;
        }

    Эпичнейший говнокод! На серваке top показывает нагрузку 10-12. 3000 пользователей, 100 нод, интеграция с SAP, который пачками проводит документы и выдаёт цены, отчёты по остаткам и т.п. И всё это, как оказалось, капля в море по сравнению с 5 человеками техподдержки, которые сидят в аяксовой консоле мониторинга, для которой HTTP-ответ экранируется данным шедевром. Без этого шедевра нагрузка держится в районе 2-3 даже при достаточно большой активности.

    konsoletyper, 26 Июня 2012

    Комментарии (78)
  10. 1C / Говнокод #8128

    −153

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    Итак, у вас есть два стека с ограничением на размер - N. Стеки поддерживают операции push, pop, top.
    pop пустого стека, как и push заполненного стека вызывает соответствующее исключение.
    Необходимо из этих двух стеков смоделировать стек с таким же размером, но с дополнительным свойством -\
    push заполненного стека вызывает затирание последнего элемента стека, push(41,[1,2,3]) -> [41,1,2] ,\
    где N=3.
    Время пошло. Язык программирования любой.

    Да, это не говнокод, но 90% кандидатов не могут ее решить. (Наверное, потому, что язык собеседования - 1С)

    alexoy, 08 Октября 2011

    Комментарии (78)
  11. VisualBasic / Говнокод #6519

    −102

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    210 IF A$='1' THEN 2000
    220 IF A$='2' THEN 2010
    230 IF A$='3' THEN 2020
    240 IF A$='4' THEN 2030
    250 IF A$='5' THEN 2040
    260 IF A$='6' THEN 2060
    270 IF A$='7' THEN 2070
    280 IF A$='8' THEN 2080
    285 IF A$='9' THEN 4000
    290 IF A$='10' THEN 3000

    говнокод прямо с обложки книги по прикладному васику для ИТР

    bugmenot, 30 Апреля 2011

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