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

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

    +146

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    Как известно Страуструп для своей диссертации написал на языке Симула программу расчета данных.
    Причем программа была написана очень быстро и легко, что весьма порадовало Б.С. Но вот дальше
    обнаружилось, что скорость работы этой программы крайне мала. Как говорят, ее не хватало даже
    для того, чтобы насчитать необходимые данные к моменту защиты дисертации. Эффект этого произвел
    на (неокрепшие ) мозги г-на Страуструпа был ужасен. Но вместо визита к психотерапевту
    он решил создать свой язык, который бы совмещал в себе высокую скорость разработки (от Симулы)
    и высокую скорость выполнения (от С). Т.е. была поставлена задача написания языка C++, во-первых,
    объектно-ориентированного (в понимании Б.С.), а во-вторых, очень эффективного (в плане скорости
    выполнения скомпилированного кода).

    Статья:

    http://steps3d.narod.ru/tutorials/c-minus-minus.html
    Наш ответ:
    http://dshevchenko.biz/content/мой-ответ-алексею-викторовичу

    CKrestKrestGovno, 25 Сентября 2011

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

    +146

    1. 1
    if ((chlen = wcwidth(CharOf(CHDEREF(ch)))) <= 0) {

    хорошо назвали переменную н курсес 5.9 tty_update.c

    ragim, 19 Сентября 2011

    Комментарии (14)
  4. PHP / Говнокод #7894

    +146

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    <?php
    
    error_reporting(E_ALL);
    
    require_once '../app/config.php';
    require_once systemConfig::$pathToSystem . '/index.php';
    require_once '../app/application.php';
    
    $application = new application();
    $application->run();
    
    ?>

    http://code.google.com/p/govnokod/source/browse/trunk/govnoquoter/www/index.php
    Шел 2011-й год...

    alexoy, 18 Сентября 2011

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

    +146

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    var
      WS1, WS2, WS3: TWSocket;
    ...
    begin
    ...
    WS1 := TWSocket.Create(Self);
    WS2 := TWSocket.Create(Self);
    WS3 := TWSocket.Create(Self);
    ...
    end;

    и это гавно код

    Xxx_Guf_xxX, 14 Сентября 2011

    Комментарии (15)
  6. Pascal / Говнокод #7868

    +146

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    var
      WS: array[1..3] of TWSocket;
    ...
    var
      I: Integer;
    begin
    ...
      for I := 1 to 3 do
        WS := TWSocket.Create(Self);
    ...
    end;

    Гавно код так считают

    Xxx_Guf_xxX, 14 Сентября 2011

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

    +146

    1. 1
    2. 2
    3. 3
    4. 4
    void crash()
    {
        (( void(*)() )0)();
    }

    Good crash :D

    petersvp, 11 Сентября 2011

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

    +146

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    if ( city_name(5) = 'город' or city_name(5) = 'ГОРОД' or
        city_name(5) = 'Город' or city_name(5) = 'ГоРоД' or
        city_name(5) = 'гороД' or city_name(5) = 'гОрОд' or
         city_name(6) = 'город.' or city_name(6) = 'ГОРОД.'
      or city_name(6) = 'Город.' or city_name(6) = 'ГоРоД.'
      or city_name(6) = 'гороД.' or city_name(6) = 'гОрОд.' )
          and city_name <> 'Городец'.
        shift city_name by 5 places.
      endif.

    Чистим лишнее из имени города.

    foGa, 07 Сентября 2011

    Комментарии (15)
  9. Си / Говнокод #7780

    +146

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    case '16':
                dm("sixteenth");
                *b_=FULL_NOTE_DURATION_TCK/16 & 0x0F;
                *c_=(FULL_NOTE_DURATION_TCK/16 & 0xF0) >> 8;
            break;

    Человек парсил хексы из строки и задумался немного при копировании блоков в свитче.

    m08pvv, 05 Сентября 2011

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

    +146

    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
    function define_week_start_and_end($what)
    {
            $time_stamp = time();
            $cur_day = getdate($time_stamp); 
            $month_day = $cur_day['mday'];        
            $month_num = $cur_day['mon'];        
            $year_num = $cur_day['year'];        
            $day_num = $cur_day['wday'];
            if ($day_num!=0)
            {
                    $week_start = $month_day-$day_num+1;
            }
            else
            {
                    $week_start = $month_day-6;
            }
            $week_end = $week_start+6;
            $week_start_month_num = $month_num;
            $week_end_month_num = $month_num;
            $week_start_year_num = $year_num;
            $week_end_year_num = $year_num;
            
            if ($week_start < 1)
            {
                    if ($month_num == 1)
                    {
                            $week_start_year_num--;
                            $week_start_month_num = 12;
                    }
                    else
                    {
                            $week_start_month_num--;
                    }
                    $last_day_in_previous_month = 31;
                    while (!checkdate ($week_start_month_num, $last_day_in_previous_month, $week_start_year_num))
                    {
                            $last_day_in_previous_month--;
                    }
                    $week_start += $last_day_in_previous_month;
            }
    
            $last_day_in_month = 31;
            while (!checkdate ($week_start_month_num, $last_day_in_month, $week_start_year_num))
            {
                    $last_day_in_month--;
            }
    
            if ($week_end > $last_day_in_month)
            {
                    if ($month_num == 12)
                    {
                            $week_end_year_num++;
                            $week_end_month_num = 1;
                    }
                    else
                    {
                            $week_end_month_num++;
                    }
                    $week_end = $week_end-$last_day_in_month;
            }
    
            $week_start_time_stamp = gmmktime (0, 0, 0, $week_start_month_num, $week_start, $week_start_year_num);
            $week_end_time_stamp = gmmktime (23, 59, 59,  $week_end_month_num, $week_end, $week_end_year_num);
    
            if ($what == "start")
            {
                    return $week_start_time_stamp;
            }
            else if ($what == "end")
            {
                    return $week_end_time_stamp;
            }
            return NULL;
    }

    определение конца недели

    Lure Of Chaos, 05 Сентября 2011

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

    +146

    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
    я придумал отличную идею для нового языка программирования.
    это будут смешанные присваивания.
    можно будет писать например так:
    x <- y (тоже самое что и x = y)
    или
    x -> y ( y = x)
    также обмен значений:
    x <-> y
    паралельное присваивание (для обоих видов):
    a,b,c -> x,y,z (x = a,y =b, z =c)
    множественное присваивание:
    a -> b -> c ( b = a, c = a)
    a <- b <- c ( a = b, b = c)
    и их комбинации
    x, y, z <- a,b,c <- i,j,k <- 1,2,3 -> d,e,f
    правда круто?

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

    Fai, 02 Сентября 2011

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