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

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

    −320

    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
    95. 95
    96. 96
    97. 97
    98. 98
    99. 99
    #define EmptyText @""
    #define TextZero @"0"
    #define TextOne @"1"
    #define TextTwo @"2"
    #define TextThree @"3"
    #define TextFour @"4"
    #define TextFive @"5"
    #define TextSix @"6"
    #define TextSeven @"7"
    #define TextEight @"8"
    #define TextNine @"9"
    
    #define DigitZero 0
    #define DigitOne 1
    #define DigitTwo 2
    #define DigitThree 3
    #define DigitFour 4
    #define DigitFive 5
    #define DigitSix 6
    #define DigitSeven 7
    #define DigitEight 8
    #define DigitNine 9
    
    -(IBAction)DigitButtonClicked:(id)sender {
        UIButton *button = (UIButton *)sender;
        if ([digitLabel.text isEqualToString:TextZero]) {
            if (button.tag == DigitOne) {
                digitLabel.text = TextOne;
            }
            if (button.tag == DigitTwo) {
                digitLabel.text = TextTwo;
            }
            if (button.tag == DigitThree) {
                digitLabel.text = TextThree;
            }
            if (button.tag == DigitFour) {
                digitLabel.text = TextFour;
            }
            if (button.tag == DigitFive) {
                digitLabel.text = TextFive;
            }
            if (button.tag == DigitSix) {
                digitLabel.text = TextSix;
            }
            if (button.tag == DigitSeven) {
                digitLabel.text = TextSeven;
            }
            if (button.tag == DigitEight) {
                digitLabel.text = TextEight;
            }
            if (button.tag == DigitNine) {
                digitLabel.text = TextNine;
            }
        } else {
            if (button.tag == DigitOne) {
                digitLabel.text = [digitLabel.text stringByAppendingFormat:@"%d",DigitOne];
            }
            if (button.tag == DigitTwo) {
                digitLabel.text = [digitLabel.text stringByAppendingFormat:@"%d",DigitTwo];
            }
            if (button.tag == DigitThree) {
                digitLabel.text = [digitLabel.text stringByAppendingFormat:@"%d",DigitThree];
            }
            if (button.tag == DigitFour) {
                digitLabel.text = [digitLabel.text stringByAppendingFormat:@"%d",DigitFour];
            }
            if (button.tag == DigitFive) {
                digitLabel.text = [digitLabel.text stringByAppendingFormat:@"%d",DigitFive];
            }
            if (button.tag == DigitSix) {
                digitLabel.text = [digitLabel.text stringByAppendingFormat:@"%d",DigitSix];
            }
            if (button.tag == DigitSeven) {
                digitLabel.text = [digitLabel.text stringByAppendingFormat:@"%d",DigitSeven];
            }
            if (button.tag == DigitEight) {
                digitLabel.text = [digitLabel.text stringByAppendingFormat:@"%d",DigitEight];
            }
            if (button.tag == DigitNine) {
                digitLabel.text = [digitLabel.text stringByAppendingFormat:@"%d",DigitNine];
            }
            if (button.tag == DigitZero) {
                digitLabel.text = [digitLabel.text stringByAppendingFormat:@"%d",DigitZero];
            }
        }
    }
    
    -(IBAction)DeleteButtonClicked {
        if (![digitLabel.text isEqualToString:TextZero]) {
            if (![digitLabel.text isEqualToString:EmptyText]) {
                digitLabel.text = [ digitLabel.text substringToIndex:[digitLabel.text length] - 1 ];
                if ([digitLabel.text length] == DigitZero) {
                    digitLabel.text = TextZero;
                }
            } else {
                digitLabel.text = TextZero;
            }
        }
    }

    кусок кода, который по нажатой кнопке определяет что за цифра и добавляет ее в конец строки (или удаляет)...
    контрол по типу калькулятора

    olgerd, 27 Июля 2011

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

    +154

    1. 1
    $andZip = mysql_real_escape_string(nl2br($filterObj->process(trim(intval($_GET['zip'])))));

    Deromanok, 26 Июля 2011

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

    −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
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    Запрос = Новый Запрос;
       Запрос.УстановитьПараметр("ин_Кодификатор",Кодификатор);
       Запрос.Текст =  "ВЫБРАТЬ
       | СтатьиДвиженияДенежныхСредств.Ссылка
       |ИЗ
       | Справочник.СтатьиДвиженияДенежныхСредств КАК СтатьиДвиженияДенежныхСредств
       |ГДЕ
       | СтатьиДвиженияДенежныхСредств.ин_Кодификатор = &ин_Кодификатор
       |";
       
       Выборка = Запрос.Выполнить().Выбрать();
       Если Выборка.Следующий() Тогда   
        Если  Выборка.Ссылка.Наименование <> Наименование Тогда
         СтатьяДДСОбъект = Выборка.Ссылка.ПолучитьОбъект();      
         СтатьяДДСОбъект.Наименование = Наименование;
         СтатьяДДСОбъект.Записать(); 
        КонецЕсли;
        Если  Выборка.Ссылка.ин_Кодификатор <> Кодификатор Тогда
         СтатьяДДСОбъект = Выборка.Ссылка.ПолучитьОбъект();         
         СтатьяДДСОбъект.ин_Кодификатор = Кодификатор;
         СтатьяДДСОбъект.Записать(); 
        КонецЕсли;

    Отбор в запросе ин_Кодификатор = &ин_Кодификатор.
    Потом идет проверка Выборка.Ссылка.ин_Кодификатор <> Кодификатор

    s-in-m, 25 Июля 2011

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

    +165

    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
    <?php
    $str = $data;
    $length = 10;
     
    function strEx($str, $length){
    $str = explode(" ", $str);
    $nstr = array();
    for($t=0;$t<count($str);$t++){
    $strl = strlen(implode($nstr));
    $strr = strlen(implode($nstr)." ".$str[$t]);
    if($strl<$length && $strr<$length){
    array_push($nstr, " ".$str[$t]);
    }else{
    return trim(implode($nstr));
    }
    }
    }
    echo strEx($str, $length ); 
    echo ($_POST["data"]);
    
    Жду ваших предложений
    
    ?>

    На фрилансе оставили такой заказ (пунктуация и синтаксис сохранены):

    Нужен скрипт обрезания строки доделать . Сейчас почемуто не работает.
    Сам текст передается программой в переменную $data

    И собственно приведён код скрипта в неизменном виде)

    glutaminefee, 17 Июля 2011

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

    +168

    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
    chkbox=document.getElementById(parentId + "_ctl0" + i + "_chkSelect");
    while(chkbox!=null)
    {
        if (chkbox.disabled == false)
        {
            chkbox.checked=value;
        }
        i=i+1;
        if(i==1 || i==2 || i==3 || i==4 || i==5 || i==6 || i==7 || i==8 || i==9)
        {
            chkbox=document.getElementById(parentId + "_ctl0" + i + "_chkSelect");
        }
        else
        {
            chkbox=document.getElementById(parentId + "_ctl" + i + "_chkSelect"); 
        }
    }

    Как при помощи яваскрипта снять или установить галочки в чекбоксах? Лучшие индусские программисты рекомендуют!

    dub, 15 Июля 2011

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

    +159

    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
    if(isset($_FILES["fotagrafija"])) 
    { 
         $photo = $_FILES["fotagrafija"]["tmp_name"];
                                                 // есле нет ашИБОК!!1111111 
         if($_FILES["fotagrafija"]["error"] == 0) 
         { 
              ...
    
              if(move_uploaded_file($photo,"images/".(get_amount()+1).".jpg")==FALSE)
                   echo "fuck!";	
    		
              ...
         }
    }

    Разбирал код. Это, как ни жаль, оказалось рабочей версией.

    AlexT, 10 Июля 2011

    Комментарии (9)
  8. Assembler / Говнокод #7185

    +151

    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
    PROCEDURE StartMusic (Song : POINTER; Polling, OldIRQ : BOOLEAN); ASSEMBLER;
      ASM
        MOV  AH,0
        MOV  BL,Polling
        MOV  BH,OldIRQ
        CMP  BH,1
        JE   @Invert
        MOV  BH,1
        JMP  @GoOn
      @Invert:
        XOR  BH,BH
      @GoOn:
        LES  SI,DWORD PTR Song
        CALL _HscPlayer
      END;

    Нашел в HSC-TRACKER V1.5, файл playhsc.pas. Оригинальная инверсия булевого значения - true на false и наоборот.
    Для не знающих ассемблера:

    if (OldIRQ == 1)
    OldIRQ = 0
    else
    OldIRQ = 1;
    Реализуется куда проще:
    OldIRQ ^= 1;

    DemonId7, 06 Июля 2011

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

    +132

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    <div class="su_mainText">
           <h2>
                    <p>Thank you for taking the time to provide us with your suggestion(s).</p>
                    <p>Out intent is to continually enhance our program and we are</p>
                    <p>looking to our customer for guidance.</p>
            </h2>
    </div>

    ....задаем стиль текста на странице

    _vinka, 06 Июля 2011

    Комментарии (9)
  10. bash / Говнокод #7102

    −130

    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
    Request() { 
     Info "Добро пожаловать в VKSearch $sys_version!"
     Info "Загрузка списка треков..."
     vkapi_signature=$(echo -n "${vkapi_id}api_id=1696393count=${cfg_search_count}method=audio.searchq=${query}test_mode=1v=2.0${vkapi_secret}"|md5sum|awk '{print $1}')
     wget "http://api.vkontakte.ru/api.php?api_id=1696393&count=${cfg_search_count}&v=2.0&method=audio.search&sig=${vkapi_signature}&test_mode=1&q=$query" -qO "${sys_temp}/vksearch.out"
     found=$(cat ${sys_temp}/vksearch.out | sed -ne 's,<count>\([^<]*\)</count>,\1,p'|sed 's/^[ \t]*//')
    
     error_msg="$(cat ${sys_temp}/vksearch.out | sed -n 's|<error_msg>\(.*\)</error_msg>|\1|p'|sed 's/^[ \t]*//'|head -n1 )"
     error_code="$(cat ${sys_temp}/vksearch.out | sed -n 's|<error_code>\(.*\)</error_code>|\1|p'|sed 's/^[ \t]*//'|head -n1)"
     [ -n "$error_msg" ] && Info "Ошибка: $error_msg (Код $error_code)" die
     
     song_count=$(cat ${sys_temp}/vksearch.out | grep '<url>'|wc -l )
     [ $song_count -eq 0 ] && Info "По запросу ${query} не найдено ни одного трека..." die || Info "По запросу ${query} найдено ${found} композиций. Обработка первых ${song_count}."
    }
    
    Parse() { 
     OLD_IFS=$IFS
     IFS=$'\n'
     song_urls=( `cat ${sys_temp}/vksearch.out | sed -n 's|<url>\(.*\)</url>|\1|p'|sed 's/^[ \t]*//' ` )
     song_artists=( `cat ${sys_temp}/vksearch.out | sed -n 's|<artist>\(.*\)</artist>|\1|p'|sed 's/^[ \t]*//' ` )
     song_titles=( `cat ${sys_temp}/vksearch.out | sed -n 's|<title>\(.*\)</title>|\1|p'|sed 's/^  //' ` )
     song_durations=( `cat ${sys_temp}/vksearch.out |sed -n 's|<duration>\(.*\)</duration>|\1|p'|sed 's/^[ \t]*//' ` )
     song_counts=$(( ${#song_urls[@]} - 1 ))
     IFS=$OLD_IFS
    }
    
    RemoveDoubles() {
     rm ${sys_temp}/vksearch.pars* 2>&-
     Info "Начинаю удаление треков с одинаковой длительностью..."
     for i in `seq 0 $song_counts`
     do
      echo "<1>${song_durations[$i]}<2>${song_artists[$i]}<3>${song_titles[$i]}<4>${song_urls[$i]}<5>" >> ${sys_temp}/vksearch.parsing 
     done
     cat ${sys_temp}/vksearch.parsing | sort -n | uniq -w 6 > ${sys_temp}/vksearch.parsed
     cat ${sys_temp}/vksearch.parsing | sort -n | uniq -w 6 -d > ${sys_temp}/vksearch.doubles
     OLD_IFS=$IFS
     IFS=$'\n'
     song_urls=( `cat ${sys_temp}/vksearch.parsed |sed -ne 's,.*<4>\([^<]*\)<5>.*,\1,p' ` )
     song_artists=( `cat ${sys_temp}/vksearch.parsed |sed -ne 's,.*<2>\([^<]*\)<3>.*,\1,p' ` )
     song_titles=( `cat ${sys_temp}/vksearch.parsed | sed -ne 's,.*<3>\([^<]*\)<4>.*,\1,p' ` )
     song_durations=( `cat ${sys_temp}/vksearch.parsed |sed -ne 's,.*<1>\([^<]*\)<2>.*,\1,p' ` )
     song_counts=$(( ${#song_urls[@]} - 1 ))
     IFS=$OLD_IFS
     Info "В плейлисте осталось ${#song_urls[@]} треков." 
    }

    парочка функций из моего проекта VKSearch - поиск и сохранение музыки ВКонтакте на shell... -_-

    snoopcatt, 29 Июня 2011

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

    +78

    1. 1
    public Boolean checkPermission(String login, Integer nIdObject, String sObjectSSCode, Integer nIdOperation, String sOperationSSCode, String sSubsystemCode)

    Вот так Windows разъедает мозг разработчиков. Венгерская запись прокралась в Java-код. Да и Boolean с Integer не совсем в тему.
    И, конечно, метод нужно было назвать

    hasPermission
    .

    roman-kashitsyn, 27 Июня 2011

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