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

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

    −86

    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
    if (event.customerName != "")
    {
    	criteria.xmlCriteria =
    		"<criteria>" +
    		"<billingDetailsName>" + event.customerName + "</billingDetailsName>" +
    		"</criteria>";
    }
    else
    {
    	criteria.xmlCriteria =
    		"<criteria>" +
    		"</criteria>";
    }

    voice, 12 Мая 2010

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

    +128

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    /********************************************************************
    ОПЕРАЦИЯ ЛОГИЧЕСКОЕ ИСКЛЮЧАЮЩЕЕ ИЛИ
    ********************************************************************/
    static inline bool XOR(bool lhs, bool rhs)
    {
        return (lhs && !rhs) || ( !lhs && rhs);
    }

    Человек не знал, что есть стандартный xor...

    m08pvv, 11 Мая 2010

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

    +135

    1. 1
    while( (*(curr_pos++) != 0x0a) && ((UINT)curr_pos - (UINT)buffer < (UINT)length) );

    Ищем новую строку

    dokonvog, 30 Апреля 2010

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

    +899.2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    char *z="group=";
    char *x="end group\n";
    char *text=new char[sizeof(z)+sizeof(x)+sizeof(groupName)+1];
    strcat(text, z);
    strcat(text, groupName);
    strcat(text, "\n");
    strcat(text, x);

    Нашел в исходниках одного менеджера паролей. Вот как надо формировать строки.

    hromjo, 18 Апреля 2010

    Комментарии (22)
  6. Ruby / Говнокод #3029

    −100.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
    def ordinalize_ru integer
      postfix = case integer
        when 0 then 'ой'
        when 2 then 'ой'
        when 3 then 'ий'
        when 6 then 'ой'
        when 7 then 'ой'
        when 8 then 'ой'
        else 'й'
      end
      [ integer, postfix ].join '-'
    end

    Когда нет времени вникать в правила родного языка и русской речи. Суровый уральский говнокод.

    eveel, 17 Апреля 2010

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

    +905.2

    1. 1
    2. 2
    3. 3
    4. 4
    if ( tmp - res == 11 )
    {
    tmp = tmp;
    }

    Нашел в проэкте сегодня. Кто отгадает, зачем этот код был нужен - тому ничего не будет.

    phizik, 14 Апреля 2010

    Комментарии (22)
  8. Pascal / Говнокод #2949

    +92.8

    1. 1
    2. 2
    3. 3
    4. 4
    // Я приводить пример кода не буду, т.к. он давно исправлен и остался только в памяти и SVN-е,
    // но вполне реальный человек захуячил такое:
    // В событии OnPaint таблицы происходил запрос к БД, чтоб узнать, какой именно текст надо отрисовывать.
    // Очень весело было изменять размеры формы и наблюдать, с какой скоростью увеличивается лог-файл xDDD

    Arch, 07 Апреля 2010

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

    +156.8

    1. 1
    2. 2
    3. 3
    if (ereg("[0-9]+")) $id = (int)$_GET['id'];
    elseif (ereg("[0-9\.]+"))  $id = (float)$_GET['id'];
    else $id = $_GET['id'];

    Не то, чтоб жуткий говнокод, но как-то глуповато.

    pasha, 06 Апреля 2010

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

    +162.6

    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
    <?php
    
    
    if($_GET['id'] == 10 ){
    
    $location = "/articles/lyustry/lustra-na-kuhne/";
    }elseif($_GET['id'] == 13 and $_GET['id_type'] == 17){
    $location = "/market/interernye_svetilniki/lyustry/";
    }elseif(
    $_GET['id'] == 13 and $_GET['id_type'] == 22 and $_GET['act'] == 'sub_type'){
    $location = "/market/interernye_svetilniki/bolshie_lyustry/";
    }elseif(
    $_GET['id'] == 13 and $_GET['id_type'] == 34 and $_GET['act'] == 'sub_type'){
    $location = "/market/interernye_svetilniki/lyustry/bolee_6_rozhkov/";
    }elseif(
    $_GET['id'] == 13 and $_GET['id_type'] == 2 ){
    $location = "/market/interernye_svetilniki/podvesnye/";
    }elseif(
    $_GET['id'] == 13 and $_GET['id_type'] == 40 and $_GET['act'] == 'sub_type'){
    $location = "/market/interernye_svetilniki/podvesnye/odinochnyj_podves/";
    }elseif(
    $_GET['id'] == 13 and $_GET['id_type'] == 41 and $_GET['act'] == 'sub_type'){
    $location = "/market/interernye_svetilniki/podvesnye/trojnoj_i_bolee/";
    }elseif(
    $_GET['id'] == 13 and $_GET['id_type'] == 5 ){
    $location = "/market/interernye_svetilniki/nastenno-potolochnye/";
    }elseif(
    $_GET['id'] == 13 and $_GET['id_type'] == 35 and $_GET['act'] == 'sub_type'){
    $location = "/market/interernye_svetilniki/potolochnye/";
    }elseif(
    $_GET['id'] == 13 and $_GET['id_type'] == 52 ){
    $location = "/market/interernye_svetilniki/vlagozawitnye/";
    }elseif(
    $_GET['id'] == 13 and $_GET['id_type'] == 51 ){
    $location = "/market/interernye_svetilniki/podsvetka_kartin/";
    }elseif(
    $_GET['id'] == 13 and $_GET['id_type'] == 7 ){
    $location = "/market/interernye_svetilniki/bra/";
    }elseif(
    $_GET['id'] == 13 and $_GET['id_type'] == 37 and $_GET['act'] == 'sub_type'){
    $location = "/market/interernye_svetilniki/bra/odnorozhkovye/";
    }elseif(
    $_GET['id'] == 13 and $_GET['id_type'] == 38 and $_GET['act'] == 'sub_type'){
    $location = "/market/interernye_svetilniki/bra/dvuhrozhkovye/";
    }elseif(
    $_GET['id'] == 13 and $_GET['id_type'] == 39 and $_GET['act'] == 'sub_type'){
    $location = "/market/interernye_svetilniki/bra/treh_i_bolee_rozhkovye/";
    }elseif(
    $_GET['id'] == 13 and $_GET['id_type'] == 1 ){
    $location = "/market/interernye_svetilniki/tochechnye/";
    }elseif(
    $_GET['id'] == 13 and $_GET['id_type'] == 42 and $_GET['act'] == 'sub_type'){
    $location = "/market/interernye_svetilniki/tochechnye/odinochnye/";
    }elseif(
    $_GET['id'] == 13 and $_GET['id_type'] == 43 and $_GET['act'] == 'sub_type'){
    $location = "/market/interernye_svetilniki/tochechnye/dvojnye/";
    }elseif(
    $_GET['id'] == 13 and $_GET['id_type'] == 44 and $_GET['act'] == 'sub_type'){
    $location = "/market/interernye_svetilniki/tochechnye/tri_i_bolee/";
    }
    elseif(
    $_GET['id'] == 13 and $_GET['id_type'] == 8){
    $location = "/market/interernye_svetilniki/nastolnye_lampy/";
    }elseif(
    $_GET['id'] == 13 and $_GET['id_type'] == 46 and $_GET['act'] == 'sub_type'){
    $location = "/market/interernye_svetilniki/nastolnye_lampy/ofisnye/";
    }elseif(
    $_GET['id'] == 13 and $_GET['id_type'] == 47 and $_GET['act'] == 'sub_
    type'){
    $location = "/market/interernye_svetilniki/nastolnye_lampy/prikrovatnye_domashnie_ili_interernye/";
    }elseif(
    $_GET['id'] == 13 and $_GET['id_type'] == 6 ){
    $location = "/market/interernye_svetilniki/torshery/";
    }elseif(
    $_GET['id'] == 13 and $_GET['id_type'] == 9 ){
    $location = "/market/ulichnye_svetilniki/";
    }...
    И так далее..

    Клиент поставил нашу CMS, на старой были ссылки типа /?id=10 и т.д. Сделал ему для примера скрипт редиректа с использованием switch case и вот что я увидел через две недели 0_0 Неприкрытый говнокод.

    VeroLom, 01 Апреля 2010

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

    +170.2

    1. 1
    2. 2
    3. 3
    ...
    <title><?php echo iconv('utf-8', 'windows-1251', 'Какой-то текст'); ?>
    ...

    и такие извращения для каждого куска текста в шаблоне
    вот такой вот оригинальный способ перевести шаблон в utf-8
    подозреваю, что человеку очень мешали BOM, от которых он не мог избавится, других причин не вижу

    develx0, 28 Марта 2010

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