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

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

    +1

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

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

    OlegUP, 13 Декабря 2019

    Комментарии (367)
  3. Куча / Говнокод #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)
  4. 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)
  5. Куча / Говнокод #28856

    0

    1. 1
    Именно поэтому я за «PHP» #8

    #1: https://govnokod.ru/26462 https://govnokod.xyz/_26462
    #2: https://govnokod.ru/26827 https://govnokod.xyz/_26827
    #3: https://govnokod.ru/26832 https://govnokod.xyz/_26832
    #4: https://govnokod.ru/27539 https://govnokod.xyz/_27539
    #5: https://govnokod.ru/28267 https://govnokod.xyz/_28267
    #6: https://govnokod.ru/28443 https://govnokod.xyz/_28443
    #7: https://govnokod.ru/28746 https://govnokod.xyz/_28746

    nepeKamHblu_nemyx, 29 Сентября 2023

    Комментарии (357)
  6. 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)
  7. JavaScript / Говнокод #13057

    +144

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

    Кэп с нами.

    Daiver, 27 Мая 2013

    Комментарии (355)
  8. 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)
  9. Куча / Говнокод #29147

    0

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

    #187: https://govnokod.ru/28833 https://govnokod.xyz/_28833
    #188: https://govnokod.ru/28837 https://govnokod.xyz/_28837
    #189: https://govnokod.ru/28840 https://govnokod.xyz/_28840
    #190: https://govnokod.ru/28875 https://govnokod.xyz/_28875
    #191: https://govnokod.ru/28878 https://govnokod.xyz/_28878
    #192: https://govnokod.ru/28886 https://govnokod.xyz/_28886
    #193: https://govnokod.ru/28911 https://govnokod.xyz/_28911
    #194: https://govnokod.ru/28914 https://govnokod.xyz/_28914
    #195: https://govnokod.ru/28917 https://govnokod.xyz/_28917
    #196: https://govnokod.ru/28925 https://govnokod.xyz/_28925
    #197: https://govnokod.ru/28935 https://govnokod.xyz/_28935
    #198: https://govnokod.ru/28938 https://govnokod.xyz/_28938
    #199: https://govnokod.ru/28942 https://govnokod.xyz/_28942
    #200: https://govnokod.ru/28945 https://govnokod.xyz/_28945
    #201: https://govnokod.ru/28948 https://govnokod.xyz/_28948
    #202: https://govnokod.ru/28951 https://govnokod.xyz/_28951
    #203: https://govnokod.ru/28954 https://govnokod.xyz/_28954
    #204: https://govnokod.ru/28971 https://govnokod.xyz/_28971
    #205: https://govnokod.ru/28986 https://govnokod.xyz/_28986
    #206: https://govnokod.ru/28991 https://govnokod.xyz/_28991
    #207: https://govnokod.ru/29002 https://govnokod.xyz/_29002
    #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

    nepeKamHblu_nemyx, 20 Июня 2025

    Комментарии (353)
  10. Куча / Говнокод #26961

    +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
    Top 5 most loved languages:
    
    Rust: 86.1%
    TypeScript: 67.1%
    Python: 66.7%
    Kotlin: 62.9%
    Go: 62.3%
    
    Top 5 most dreaded languages:
    
    VBA: 80.4%
    Objective-C: 76.6%
    Perl: 71.4%
    Assembly: 70.6%
    C: 66.9%
    
    Top 5 most wanted languages:
    
    Python: 30.0%
    JavaScript: 18.5%
    Go: 17.9%
    TypeScript: 17.0%
    Rust: 14.6%

    https://insights.stackoverflow.com/survey/2020#technology-most-loved-dreaded-and-wanted-languages-wanted

    Миллионы мух не могут ошибаться.

    3.14159265, 18 Сентября 2020

    Комментарии (346)
  11. PHP / Говнокод #5009

    +170

    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
    class PHP {
    	function __construct(){
    		ob_start();
    	}
    	function echо ( $string='' ) {
    		echo $string . '<br/>';
    	}
    	function  __destruct() {
    		ob_end_flush();
    	}
    }
    	$php = new PHP();
    
    	$string = "It's work!";
    	$php->echо( $string );
    
    /*
    	Пишу собственный шаблонизатор. Назову его "PHP Template Engine"
    	Помогите кто может, кто может помогите
    */

    ...Не в пример всяким Smarty...

    istem, 21 Декабря 2010

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