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

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

    −107

    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
    ...
    %install
    %{__rm} -rf %{buildroot}
    mkdir -m 755 -p %{buildroot}%{_datadir}/common-lisp/source/%{name}
    for s in $(find -regex '.+\.\(lisp\|asd\|org\)$'); do
      install -D -m 644 $s %{buildroot}%{_datadir}/common-lisp/source/%{name}
    done;
    mkdir -m 755 -p %{buildroot}/etc/common-lisp/source-registry.conf.d
    for las_conf in $(ls %{buildroot}/etc/common-lisp/source-registry.conf.d | tail -n 1); do
        for last in $(echo "${last_conf}" | grep -oP '^[0-9]+'); do
            for cl_prefix in $(echo "${last}+1" | bc); do
                echo '(:include "/usr/share/common-lisp/source/%{name}/")' > \
    	            "%{buildroot}/etc/common-lisp/source-registry.conf.d/${cl_prefix}-%{name}.conf"
                install -m 644 ${cl_prefix}-%{name}.conf %{buildroot}/etc/common-lisp/source-registry.conf.d
            done;
        done;
    done;
    
    %files
    %defattr(-,root,root,-)
    %{_datadir}/common-lisp/source/%{name}/*
    ...

    И ведь что показательно, работает!

    Вот просто не предать словами, как я это ненавижу. Менеджер пакетов завдующий установкой ПО написан на Питоне, но нельзя просто так взять и на Питоне же написать установочный скрипт. Надо горбатится над каким-то недоязыком с феноменально шизофреничными макросами полным отсутствием каких-либо высокоуровневых инструментов, типа структур и интерфейсов...

    wvxvw, 30 Сентября 2014

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

    +163

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    class this {
    
    public function this()
        {
    	  $this->this[$this] !==  $this->this();
       }
    }

    zadrot, 20 Сентября 2014

    Комментарии (26)
  4. 1C / Говнокод #16674

    −165

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    Попытка
    	ДокО.Записать();
    Исключение
     	Попытка
    		ДокО.Записать();
    	Исключение
    	КонецПопытки;	
    КонецПопытки;

    а вдруг!

    alexinzaz, 10 Сентября 2014

    Комментарии (26)
  5. Java / Говнокод #16667

    +118

    1. 1
    protected static final float PI_2 = (float)(Math.PI / 2.0);

    someone, 09 Сентября 2014

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

    +155

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    /**
     * Returns the number of rows affected by the last query
     *
     * @return int
     */
    public function getAffectedRowCount($result)
    {
    	return mysqli_affected_rows($this->getDatabase());
    }

    SugarCRM. Стоит от $35/месяц на одного пользователя.

    Понимаю когда такое встречатеся в стартапах, но когда ты просишь за свой продукт деньги и деньги не малые, то выпускать такое в продакшен... Лично я бы постеснялся.

    VanSanblch, 27 Мая 2014

    Комментарии (26)
  7. JavaScript / Говнокод #16018

    +154

    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
    (function () {
    
        if (location.pathname === "/") {
            document.body.id = 'front-page';
        }
        else {
            var path = window.location.pathname.replace('/index.php/', ''),
                splittedPath = path.split('/') || ['', ''],
                category = splittedPath[0],
                subcategory = '';
    
            for (var i = 1; i < splittedPath.length; i++) {
                subcategory += ('-' + splittedPath[i]);
            }
    
            if (category && (typeof category === 'string')) {
                document.body.classList.add('page-' + category);
            }
    
            if (subcategory && (typeof subcategory === 'string')) {
                document.body.classList.add('page-' + subcategory.replace(/^[-]/, ''));
            }
        }
    
    })();

    Сей замысловатый код призван добавить уникальный класс в body для каждой страницы прямо из урла. Предназначалось в качестве костыля для джумлы, так как через пых не работало, а разбираться никто не стал :)

    DrDre, 19 Мая 2014

    Комментарии (26)
  8. PHP / Говнокод #15941

    +156

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    $server = json_decode("{".base64_decode(base64_decode($value))."}");
    
    $name = urldecode($name);
    $path = $uploadFolder . DIRECTORY_SEPARATOR . base64_encode(base64_encode($name));
    
    $cont[$i]->reference = base64_encode(htmlspecialchars(stripslashes(base64_decode($cont[$i]->ref)), ENT_QUOTES));
    
    $value = addslashes(stripslashes(htmlspecialchars(preg_replace("/\'/ui", "", $e["value"]))));

    Код одного из проектов крупной хостинговой компании.

    mckolan, 08 Мая 2014

    Комментарии (26)
  9. PHP / Говнокод #15927

    +156

    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
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    /////////////////////////////////// функция обработки операционной системы + поисковые системы
    function getOS($userAgent) {
    // Создадим список операционных систем в виде элементов массива
    $oses = array (
            'iPhone' => '(iPhone)',
    		'Android' => '(android)',
    		'iPad' => '(iPad)',
    		'Blackberry OS' => '(rim)',
            'Windows 3.11' => 'Win16',
            'Windows 95' => '(Windows 95)|(Win95)|(Windows_95)',
            'Windows 98' => '(Windows 98)|(Win98)',
            'Windows 2000' => '(Windows NT 5.0)|(Windows 2000)',
            'Windows XP' => '(Windows NT 5.1)|(Windows XP)',
            'Windows 2003' => '(Windows NT 5.2)',
            'Windows Vista' => '(Windows NT 6.0)|(Windows Vista)',
            'Windows 7' => '(Windows NT 6.1)|(Windows 7)',
    		'Windows 8' => '(Windows NT 6.2)|(Windows 8)',
            'Windows NT 4.0' => '(Windows NT 4.0)|(WinNT4.0)|(WinNT)|(Windows NT)',
            'Windows ME' => 'Windows ME',
            'Open BSD'=>'OpenBSD',
            'Sun OS'=>'SunOS',
            'Linux'=>'(Linux)|(X11)',
            'Safari' => '(Safari)',
            'Macintosh'=>'(Mac_PowerPC)|(Macintosh)',
            'QNX'=>'QNX',
            'BeOS'=>'BeOS',
            'OS/2'=>'OS/2',
    		'Google' => '(Googlebot)',
    		'Yahoo! | AOL' => '(Slurp) | (Yahoo! Slurp) | (Yammybot)',
    		'MSN | Live' => '(MSNBot)',
    		'Ask' => '(Teoma)',
    		'AltaVista' => '(Scooter)',
    		'Alexa' => '(ia_archiver)',
    		'Lycos' => '(Lycos)',
    		'Яндекс' => '(Yandex)',
    		'Рамблер' => '(StackRambler)',
    		'Мэйл.ру' => '(Mail.Ru)',
    		'Aport' => '(Aport)',
            'Search Bot'=>'(nuhk)|(Openbot)|(Slurp/cat)'
    );
      
    foreach($oses as $os=>$pattern){
    if(eregi($pattern, $userAgent)) { // Пройдемся по массиву $oses для поиска соответствующей операционной системы.
    return $os;
    }
    }
    return 'Unknown'; // Хрен его знает, чего у него на десктопе стоит.
    }
    $oc = getOS($_SERVER['HTTP_USER_AGENT']);
    
    
    /////////////////////////////////// #64х64 ава
    function avatar_path($id_user){
    global $ava;
    $ava=glob($_SERVER['DOCUMENT_ROOT'].'/files/ava/'.$id_user.'*');
    if ($ava)return str_replace($_SERVER['DOCUMENT_ROOT'],'',$ava[0]);
    else
    return false;
    }
    ///////////////////////////////////
    function apicms_ava64($users) {
    $ava = avatar_path($users);
    if ($ava){
    echo '<img src="'.$ava.'" alt=""  width="64" height="64"/>';
    }else{
    #если ава не загружена то выводим эту
    echo '<img src="/files/ava/0.png" width="64" height="64">';
    }
    }
    ///////////////////////////////////
    function apicms_ava32($users) {
    $ava = avatar_path($users);
    if ($ava){
    echo '<img src="'.$ava.'" alt=""  width="32" height="32"/>';
    }else{
    #если ава не загружена то выводим эту
    echo '<img src="/files/ava/0.png" width="32" height="32">';
    }
    }
    ///////////////////////////////////
    function apicms_ava40($users) {
    $ava = avatar_path($users);
    if ($ava){
    echo '<img src="'.$ava.'" alt=""  width="40" height="40"/>';
    }else{
    #если ава не загружена то выводим эту
    echo '<img src="/files/ava/0.png" width="40" height="40">';
    }
    }
    ///////////////////////////////////
    #Вывод ошибок
    function apicms_error($var){
    if (!empty($var))echo '<div class="error"><a>'. $var .'</a></div>';
    }

    Из ядра новой "рывалюционной" cms от "известного на весь интернет" автора Евгения Медянкина Kyber. Адрес заповедника говнокода таков: http://apicms.ru

    Strannik1941, 06 Мая 2014

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

    +128

    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
    object Point2D {
    
      type Point2D = Object {def apply(method: Method): method.type#signature}
    
      trait Method {
        type signature
      }
    
      object ToString extends Method {
        override type signature = () => String
      }
    
      object GetX extends Method {
        override type signature = () => Int
      }
    
      object SetX extends Method {
        override type signature = (Int) => Point2D
      }
    
      def Point2D(x: Int, y: Int): Point2D = {
    
        class Dispatch {
    
          def apply(method: Method): method.signature = (method match {
            case ToString => () => s"($x, $y)"
            case GetX => () => x
            case SetX => (x: Int) => Point2D(x, y)
          }).asInstanceOf[method.signature]
    
        }
    
        new Dispatch
      }
    
    }

    LispGovno, 10 Декабря 2013

    Комментарии (26)
  11. C# / Говнокод #13949

    +131

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    private unsafe bool IsOptionalOutParamSet(out Guid param)
    {
        fixed (Guid* guidPtr = &param)
            return (IntPtr) guidPtr != IntPtr.Zero;
    }

    Ccik, 15 Октября 2013

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