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

    В номинации:
    За время:
  2. Куча / Говнокод #6122

    +138

    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
    uses crt;
    var c1,c2,c3,k,s:integer;
    begin
    clrscr;
    s:=0;
    for c1:=1 to 9 do
    for c2:=0 to 9 do
    for c3:=0 to 9 do
    k:=c1*100+c2*10+c3+k;
    if (k mod 5 =0) then writeln('LOADING...');
    else if (k mod 7 = 0) then writeln('LOADING...');
    else s:=s+k;
    writeln('Obshie symaя=',s);
    readln;
    end.

    Вот как можно посчитать количество всех трехзначных чисел, которые не делятся на 5 или 7.

    wiapsy, 29 Марта 2011

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

    +170

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    transaction::~transaction()
      {
        if (db_) {
          int rc = db_->execute(fcommit_ ? "COMMIT" : "ROLLBACK");
          if (rc != SQLITE_OK)
            throw database_error(*db_);
        }
      }

    (c) http://code.google.com/p/sqlite3pp/source/browse/trunk/sqlite3pp.cpp#486

    пожалуй, здесь нехватает картинки в стиле Nichtlustig с подписью "лемминг делает throw в деструкторе"

    iddqd, 27 Марта 2011

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

    −110

    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
    СписокЗначенийТиповЦен = Новый СписокЗначений;
    ...
    КоличествоЦен = 0;
    РезультатВыбора = ФормаВыбораТиповЦен.ОткрытьМодально();
    Для Каждого Элемент Из РезультатВыбора Цикл 
    	СписокЗначенийТиповЦен.Добавить(Элемент.Значение);
    	КоличествоЦен = КоличествоЦен + 1;
    КонецЦикла;
    
    Если КоличествоЦен = 0 Тогда
    	Предупреждение("Не выбран ни один тип цен!!!");	
    	Возврат;
    КонецЕсли;

    Нет проверки на возвращение "неопределено" в строке 4. К тому же в результате возвращает список значений, зачем создавать еще один список и все элементы переносить в него для меня загадка.
    Ну и счетчик количества элементов в цикле вместо РезультатВыбора.Количество() на десерт.

    ingenuus, 14 Марта 2011

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

    +175

    1. 1
    2. 2
    3. 3
    // "Dedicated to the near-memory of Nev. Let's start remembering people while they're still alive."
        // Nev's great contribution to dc++
        while(1) break;

    Вот такое можно увидеть в исходниках ядра DC++
    https://github.com/negativ/eiskaltdcpp/blob/master/dcpp/DCPlusPlus.cpp#L60

    gelraen, 11 Марта 2011

    Комментарии (13)
  6. Си / Говнокод #5949

    +142

    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
    #include <unistd.h>
    #include <stdlib.h>
    int main(int argc,char* argv[])
    {
    int fdp1[2],fdp2[2],fdp3[2],fdp4[2],fdp5[2];
    pipe(fdp1);
    pipe(fdp2);
    pipe(fdp3);
    pipe(fdp4);
    pipe(fdp5);
    if(fork()==0){
    close(1);dup(fdp1[1]);close(fdp1[1]);close(fdp1[0]);
    execl("/bin/cat","cat",argv[1],(char*)0);
    exit(1);
    }
    if(fork()==0){
    close(0);dup(fdp1[0]);close(fdp1[0]);close(fdp1[1]);
    close(1);dup(fdp2[1]);close(fdp2[1]);
    execl("/usr/bin/tr","tr","-cs","A-Za-z","\n",(char*)0);
    exit(2);
    }
    if(fork()==0){
    close(0);dup(fdp2[0]);close(fdp2[0]);close(fdp2[1]);
    close(fdp1[0]);close(fdp1[1]);
    close(1);dup(fdp3[1]);close(fdp3[1]);close(fdp3[0]);
    execl("/usr/bin/sort","sort",(char*)0);
    exit(3);
    }
     
    if(fork()==0){
    close(0);dup(fdp3[0]);close(fdp3[0]);close(fdp3[1]);
    close(fdp1[0]);close(fdp1[1]);
    close(fdp2[0]);close(fdp2[1]);
     
    close(1);dup(fdp4[1]);close(fdp4[1]);
    execl("/usr/bin/uniq","uniq","-c",(char*)0);
    exit(4);
    }
     
    if(fork()==0){
    close(0);dup(fdp4[0]);close(fdp4[0]);close(fdp4[1]);
    close(fdp1[0]);close(fdp1[1]);
    close(fdp2[0]);close(fdp2[1]);
    close(fdp3[0]);close(fdp3[1]);
    close(1);dup(fdp5[1]);close(fdp5[1]);
    execl("/usr/bin/sort","sort","-n",(char*)0);
    exit(5);
    }
    if(fork()==0){
    close(0);dup(fdp5[0]);close(fdp5[0]);close(fdp5[1]);
    close(fdp1[0]);close(fdp1[1]);
    close(fdp2[0]);close(fdp2[1]);
    close(fdp3[0]);close(fdp3[1]);
    close(fdp4[0]);close(fdp4[1]);
    execl("/usr/bin/tail","tail","-n",argv[2],(char*)0);
    exit(6);
    }
    close(fdp1[0]);close(fdp1[1]);
    close(fdp2[0]);close(fdp2[1]);
    close(fdp3[0]);close(fdp3[1]);
    close(fdp4[0]);close(fdp4[1]);
    close(fdp5[0]);close(fdp5[1]);
    while(wait(0)!=(-1));
    exit(0);
    }

    задача: подсчет повторяемости слов, и вывод слов указанной длины.

    niXman, 11 Марта 2011

    Комментарии (13)
  7. Pascal / Говнокод #5912

    +101

    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
    TLine = record
        X1, Y1, X2, Y2: smallint;
        Attr: array [0 .. 7] of byte;
      end;
    
    {rail:
        Attr[0]: Quality
        Attr[1]: ********
                 ||Weight of Station
                 ||10 = Station; 11 = Big Station
        Attr[2]: Count of passengers
        Real count = Attr[2] * (Attr[1] and $3F) / 63;
        Attr[3]: ****0100
                 ||||
                 |||for Selected
                 ||for "crossrail"
                 for MoveEndSel
      ===========================================
       bridge:
        Attr[0]: Quality
        Attr[1]: ********
                       ||
                       Z of ends
        Attr[2]:
        Attr[3]: ****1100
      ===========================================
       3d-object:
        Attr[0]: Number
        Attr[1-2]: RandSeed
        Attr[3]: ****1111
      ===========================================
      Attr[4..7] reserved, but not used
    
      }

    Это я был вынужден написать себе такую памятку после попыток понять свой код, начатый на 3 курсе.
    В будущем я учёл свои ошибки при написании http://govnokod.ru/5261

    TarasB, 06 Марта 2011

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

    +160

    1. 1
    $VAR['server'] = trim(str_replace("www.","",strtolower($_SERVER['SERVER_NAME'])));

    Угадайте что этот код должен делать, и что он делает на самом деле. Да, это ужас. Это один из многих ужасов, доставшихся мне от предыдущего программиста. До этого самым большим был explode имени файла через точку и подставление второго элемента как расширение.

    BiSe_Trojanov, 02 Марта 2011

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

    +119

    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
    int buf;
                    for (int j = 1; j < srows.Length; j++)
                        for (int i = 0; i < srows.Length - j; i++)
                        {
                            if (vrows[i] > vrows[i + 1])
                            {
                                buf = vrows[i];
                                vrows[i] = vrows[i + 1];
                                vrows[i + 1] = buf;
    
                                buf = srows[i];
                                srows[i] = srows[i + 1];
                                srows[i + 1] = buf;
                            }
                        }

    В коде формы. (c) EGAR

    jonie, 28 Февраля 2011

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

    +179

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    $kPOST = @array_keys($_POST);
    
    for (@$i=0;$i<@count(@$kPOST);@$i++) {
    	$_POST[@$kPOST[@$i]] = @htmlspecialchars(@$_POST[@$kPOST[@$i]]);
    }
    
    $kGET = @array_keys(@$_GET);
    for (@$i=0;@$i<@count(@$kGET);@$i++) {
    	$_GET[@$kGET[@$i]] = @htmlspecialchars(@$_GET[@$kGET[@$i]]);
    }

    Ну теперь точно без ошибок!

    Sych, 23 Февраля 2011

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

    +80

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    List<Map<String, Object>> list;
    ...........
    // берем первый элемент списка и сохраняем его
    for(Map<String, Object> properties: list ) {
                map = properties;
                break;
     }

    paralainer, 21 Февраля 2011

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