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

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

    +147

    1. 1
    -

    onnanon, 02 Апреля 2015

    Комментарии (375)
  3. PHP / Говнокод #2995

    +170.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
    // для увеличения быстродействия - если проверка успешна - выходим из цикла, 
    // не проверяя остальные условия.
    do
    {
    	if (is_numeric($variable))
    	{
    		// do smth
    		break;
    	}
    			
    	if (is_null($variable))
    	{
    		// do smth
    		break;
    	}
    	
    	// еще несколько ифоф			
    
    	$variable = '\'ERROR_TYPE\'';
    			
    }
    while(false);

    прикольно конечно) но чел походу не знал про switch-case

    litrumb, 13 Апреля 2010

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

    +132

    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
    struct ass {
            void (*func)(const char *, void *);
            void *data;
        } asses[] = {
            { NULL, NULL },
            /* Тут типа scanf */
            { NULL, NULL },
        };
    
        while (getopt_long_only(argc, argv, "", long_options, &option_index) != -1) {
            if (option_index < 0)
                return 1;
            struct ass *derp = &asses[option_index];
            if (derp->func != NULL)
                derp->func(optarg, derp->data);
        }

    Правим код начальника.

    codemonkey, 13 Апреля 2015

    Комментарии (370)
  5. JavaScript / Говнокод #26263

    +1

    1. 1
    https://sun1-28.userapi.com/c854224/v854224060/1a2490/7JEShAFqoEU.jpg

    Сишник половину из этого увидит логичным.
    А JS макаки без должного математического образования не знают даже, как правильно проверять на эквивалентность floating point numbers.

    OlegUP, 13 Декабря 2019

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    Чем полностью стереть файл\каталог с NTFS? 
    Имею ввиду удалить не только сам файл\каталог, но и перезатереть его запись в каталоге?
    Хотя логично предположить, что если запись содержимого каталога сортируется, то она перезапишется.
    Содержимое каталога хранится вне MFT, записи о каталогах хранятся в ней.
    Также в NTFS есть журнал транзакций, значит надо тереть и оттуда?
    
    Я так понял, в ext3\4 обычный шреддинг тоже не поможет.

    OlegUP, 06 Августа 2019

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    // https://habr.com/ru/post/490222/
    
    Почему мы должны сломать ABI
    
    Прежде всего, есть несколько полезных изменений в реализации стандартной библиотеки, которые можно внедрить, если нарушить текущий ABI:
    
    ...
    
    * Ускорить работу std::regex (На данный момент быстрее запустить PHP и выполнить на нем поиск по регулярному выражению, чем использовать стандартный std::regex)

    Какой багор! Именно поэтому я за PHP

    j123123, 28 Февраля 2020

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

    −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
    Немного о пропертях
    
    "Лично мне свойства не нравятся и я был бы рад, если бы в Microsoft решили убрать
    их поддержку из .NET Framework и сопутствующих языков программирования."
    
    "Я считаю, что разработчики используют свойства намного чаще, чем следовало
    бы. Достаточно внимательно изучить список различий между свойствами и поля-
    ми, чтобы понять: есть очень немного ситуаций, в которых определение свойства
    действительно полезно, удобно и не запутывает разработчика. Единственная при-
    влекательная черта свойств — упрощенный синтаксис, все остальное — недостатки,
    в числе которых потеря в производительности и читабельности кода. Если бы я
    участвовал в разработке .NET Framework и компиляторов, я бы вообще отказался от
    свойств, вместо этого я предоставил бы разработчикам полную свободу реализации
    методов GetXxx и SetXxx. Позже создатели компиляторов могли бы предоставить
    особый упрощенный синтаксис вызова этих методов, но только при условии его
    отличия от синтаксиса обращения к полям, чтобы программист четко понимал, что
    выполняется вызов метода!"
    
    Джефри Рихтер

    Срач объявляется открытым

    kegdan, 29 Апреля 2016

    Комментарии (356)
  9. JavaScript / Говнокод #13057

    +144

    1. 1
    sk = e.shiftKey?e.shiftKey:((kc == 16)?true:false);

    Кэп с нами.

    Daiver, 27 Мая 2013

    Комментарии (355)
  10. Java / Говнокод #26791

    +1

    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
    package literatePrimes;
    
    import java.util.ArrayList;
    
    public class PrimeGenerator {
      private static int[] primes;
      private static ArrayList<Integer> multiplesOfPrimeFactors;
    
      protected static int[] generate(int n) {
        primes = new int[n];
        multiplesOfPrimeFactors = new ArrayList<Integer>();
        set2AsFirstPrime();
        checkOddNumbersForSubsequentPrimes();
        return primes;
      }
    
      private static void set2AsFirstPrime() {
        primes[0] = 2;
        multiplesOfPrimeFactors.add(2);
      }
    
      private static void checkOddNumbersForSubsequentPrimes() {
        int primeIndex = 1;
        for (int candidate = 3;
             primeIndex < primes.length;
             candidate += 2) {
          if (isPrime(candidate))
            primes[primeIndex++] = candidate;
        }
      }
    
      private static boolean isPrime(int candidate) {
        if (isLeastRelevantMultipleOfNextLargerPrimeFactor(candidate)) {
          multiplesOfPrimeFactors.add(candidate);
          return false;
        }
        return isNotMultipleOfAnyPreviousPrimeFactor(candidate);
      }
    
      private static boolean
      isLeastRelevantMultipleOfNextLargerPrimeFactor(int candidate) {
        int nextLargerPrimeFactor = primes[multiplesOfPrimeFactors.size()];
        int leastRelevantMultiple = nextLargerPrimeFactor * nextLargerPrimeFactor;
        return candidate == leastRelevantMultiple;
      }
    
      private static boolean
      isNotMultipleOfAnyPreviousPrimeFactor(int candidate) {
        for (int n = 1; n < multiplesOfPrimeFactors.size(); n++) {
          if (isMultipleOfNthPrimeFactor(candidate, n))
            return false;
        }
        return true;
      }
    
      private static boolean
      isMultipleOfNthPrimeFactor(int candidate, int n) {
       return
         candidate == smallestOddNthMultipleNotLessThanCandidate(candidate, n);
      }
    
      private static int
      smallestOddNthMultipleNotLessThanCandidate(int candidate, int n) {
        int multiple = multiplesOfPrimeFactors.get(n);
        while (multiple < candidate)
          multiple += 2 * primes[n];
        multiplesOfPrimeFactors.set(n, multiple);
        return multiple;
      }
    }

    https://habr.com/ru/post/508876/
    Вероятно, хватит рекомендовать «Чистый код»
    > Я остановлюсь на ещё одном вопиющем примере кода. Это генератор простых чисел из главы 8:

    gost, 03 Июля 2020

    Комментарии (354)
  11. Куча / Говнокод #29274

    0

    1. 1
    IT Оффтоп #238

    #208: https://govnokod.ru/29060 https://govnokod.xyz/_29060
    #209: https://govnokod.ru/29070 https://govnokod.xyz/_29070
    #210: https://govnokod.ru/29079 https://govnokod.xyz/_29079
    #211: https://govnokod.ru/29092 https://govnokod.xyz/_29092
    #212: https://govnokod.ru/29093 https://govnokod.xyz/_29093
    #213: https://govnokod.ru/29104 https://govnokod.xyz/_29104
    #214: https://govnokod.ru/29114 https://govnokod.xyz/_29114
    #215: https://govnokod.ru/29125 https://govnokod.xyz/_29125
    #216: https://govnokod.ru/29132 https://govnokod.xyz/_29132
    #217: https://govnokod.ru/29147 https://govnokod.xyz/_29147
    #218: https://govnokod.ru/29156 https://govnokod.xyz/_29156
    #219: https://govnokod.ru/29166 https://govnokod.xyz/_29166
    #220: https://govnokod.ru/29181 https://govnokod.xyz/_29181
    #221: https://govnokod.ru/29185 https://govnokod.xyz/_29185
    #222: https://govnokod.ru/29190 https://govnokod.xyz/_29190
    #223: https://govnokod.ru/29203 https://govnokod.xyz/_29203
    #224: https://govnokod.ru/29211 https://govnokod.xyz/_29211
    #225: https://govnokod.ru/29212 https://govnokod.xyz/_29212
    #226: https://govnokod.ru/29218 https://govnokod.xyz/_29218
    #227: https://govnokod.ru/29220 https://govnokod.xyz/_29220
    #228: https://govnokod.ru/29230 https://govnokod.xyz/_29230
    #229: https://govnokod.ru/29235 https://govnokod.xyz/_29235
    #230: https://govnokod.ru/29241 https://govnokod.xyz/_29241
    #231: https://govnokod.ru/29246 https://govnokod.xyz/_29246
    #232: https://govnokod.ru/29249 https://govnokod.xyz/_29249
    #233: https://govnokod.ru/29253 https://govnokod.xyz/_29253
    #234: https://govnokod.ru/29259 https://govnokod.xyz/_29259
    #235: https://govnokod.ru/29262 https://govnokod.xyz/_29262
    #236: https://govnokod.ru/29267 https://govnokod.xyz/_29267
    #237: https://govnokod.ru/29271 https://govnokod.xyz/_29271

    nepeKamHblu_nemyx, 28 Июля 2026

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