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

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

    +155

    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
    <?php
    function variation($name, $cache = true)
    {
        $hach = md5($name);
        //Проверяем кэш, если его нет - делаем запрос к API(JSON).
        if (!file_exists('cache/variation/' . $hach . '.cache')) {
            $c = file_get_contents('http://export.yandex.ru/inflect.xml?name=' . urlencode($name) . '&format=json');
            //Записываем кэш
            if ($cache === true) {
                file_put_contents('cache/variation/' . $hach . '.cache', $c);
            }
        }
        //Если кэш есть - берем оттуда.
        else {
            $c = file_get_contents('cache/variation/' . $hach . '.cache');
        }
        //Возвращаем массив(Функция работает только с UTF-8)
        return json_decode($c, true);
    }
    $arr = variation('Москва');
    /*
    //Переводим в cp1251(JSON).
    $arr = variation('Москва');
    //Для всего массива
    function _iconv($val)
    {
    return iconv('utf-8', 'cp1251', $val);
    }
    $arr = array_map('_iconv', $arr);
    //Или для отдельного элемента
    $arr[1] = iconv('utf-8', 'cp1251', $arr[1]);
    */
    echo 'Оригинал: ', $arr['original'], '<br/>';
    echo 'Именительный: ', $arr[1], '<br/>';
    echo 'Родительный: ', $arr[2], '<br/>';
    echo 'Дательный: ', $arr[3], '<br/>';
    echo 'Винительный: ', $arr[4], '<br/>';
    echo 'Творительный: ', $arr[5], '<br/>';
    echo 'Предложный: ', $arr[6], '<br/>';

    http://moicoding.ru/php-poleznosti/8-Yandeks-sklonyator

    Unknown, 19 Января 2012

    Комментарии (29)
  3. Java / Говнокод #8876

    +75

    1. 1
    2. 2
    StringBuilder append = new StringBuilder();
    ...

    redenemy, 03 Января 2012

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

    +106

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    if ( 0 == strcmp( executable, "" ) ||
         0 == strcmp( executable, "NONE" ) ||
         0 == strcmp( executable, "none" ) ||
         0 == strcmp( executable, "None" )  )
    {
    /* ... */

    ... ровно так документация и описывает данный параметр: либо пустая строка, либо case-insensitive строка NONE.

    Dummy00001, 25 Ноября 2011

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

    +90

    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
    static String Colorize(String str) {
    		str = str.replace("{BLACK}", "&0");
    		str = str.replace("{DARKBLUE}", "&1");
    		str = str.replace("{DARKGREEN}", "&2");
    		str = str.replace("{DARKTEAL}", "&3");
    		str = str.replace("{DARKRED}", "&4");
    		str = str.replace("{PURPLE}", "&5");
    		str = str.replace("{GOLD}", "&6");
    		str = str.replace("{GRAY}", "&7");
    		str = str.replace("{DARKGRAY}", "&8");
    		str = str.replace("{BLUE}", "&9");
    		str = str.replace("{BRIGHTGREEN}", "&a");
    		str = str.replace("{TEAL}", "&b");
    		str = str.replace("{RED}", "&c");
    		str = str.replace("{PINK}", "&d");
    		str = str.replace("{YELLOW}", "&e");
    		str = str.replace("{WHITE}", "&f");
    
    		str = str.replace("{0}", "&0");
    		str = str.replace("{1}", "&1");
    		str = str.replace("{2}", "&2");
    		str = str.replace("{3}", "&3");
    		str = str.replace("{4}", "&4");
    		str = str.replace("{5}", "&5");
    		str = str.replace("{6}", "&6");
    		str = str.replace("{7}", "&7");
    		str = str.replace("{8}", "&8");
    		str = str.replace("{9}", "&9");
    		str = str.replace("{A}", "&a");
    		str = str.replace("{B}", "&b");
    		str = str.replace("{C}", "&c");
    		str = str.replace("{D}", "&d");
    		str = str.replace("{E}", "&e");
    		str = str.replace("{F}", "&f");
    
    		str = str.replace("&", "\u00a7");
    		return str;
    	}

    Crazy_penguin, 25 Ноября 2011

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

    +162

    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
    //create image array
             $images = array();
             //fill it
             for ($i = 1; $i <= 180; $i++) 
                if (($i != $passimage1)&&($i != $passimage2)&&($i != $passimage3)&&($i != $passimage4)) 
                $images[] = $i;
             //randomize it
             for ($i = 0; $i < 176; $i++) {
                $r = rand(0,175);
                $swap = $images[$r];
                $images[$r] = $images[$i];
                $images[$i] = $swap;
             }

    denis90, 16 Ноября 2011

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

    +160

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    for ($i = 0; $i <= strlen($_POST[login]); $i++) {
         $b = substr($_POST[login], $i, 1);
       if(($b==q) || ($b==w) || ($b==e) || ($b==r) || ($b==t) || ($b==y) || ($b==u) || ($b==i) || ($b==o) 
         || ($b==p) || ($b==a) || ($b==s) || ($b==d) || ($b==f) || ($b==g) || ($b==h) || ($b==j) || ($b==k) || ($b==l) || ($b==z) 
         || ($b==x) || ($b==c) || ($b==v) || ($b==b) || ($b==n) || ($b==m) || ($b==" ") || ($b==й) || ($b==ц) || ($b==у) || ($b==к) 
         || ($b==е) || ($b==н) || ($b==г) || ($b==ш) || ($b==щ) || ($b==з) || ($b==х) || ($b==ъ) || ($b==ф) || ($b==ы) || ($b==в) 
         || ($b==а) || ($b==п) || ($b==р) || ($b==о) || ($b==л) || ($b==д) || ($b==ж) || ($b==э) || ($b==я) || ($b==ч) || ($b==с) 
         || ($b==м) || ($b==и) || ($b==т) || ($b==ь) || ($b==б) || ($b==ю))
      { echo $b; }
     }

    Чувак на php.ru попросил помочь и выложил свои наработки. После чего - эпическая цитата

    "А админам скажу: у меня есть опыт PHP и не маленький, зачем меня переводить в PHP для новичков:( "

    tommyangelo27, 15 Ноября 2011

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

    +200

    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
    $y = date("Y");
    $date = date("H:i");
    
       echo '<h3>Московское время: <span style="color:silver">';
       if ($date == "06:00") echo "Шесть часов ноль минут";
       if ($date == "06:01") echo "Шесть часов одна минута";
       if ($date == "06:02") echo "Шесть часов две минуты";
       if ($date == "06:03") echo "Шесть часов три минуты";
       if ($date == "06:04") echo "Шесть часов четыре минуты";
       if ($date == "06:05") echo "Шесть часов пять минут";
       if ($date == "06:06") echo "Шесть часов шесть минут";
       if ($date == "06:07") echo "Шесть часов семь минут";
       if ($date == "06:08") echo "Шесть часов восемь минут";
       if ($date == "06:09") echo "Шесть часов девять минут";
       if ($date == "06:10") echo "Шесть часов десять минут";
       if ($date == "06:11") echo "Шесть часов одиннадцать минут";
       if ($date == "06:12") echo "Шесть часов двенадцать минут";
       if ($date == "06:13") echo "Шесть часов тринадцать минут";
       if ($date == "06:14") echo "Шесть часов четырнадцать минут";
       if ($date == "06:15") echo "Шесть часов пятнадцать минут";
    
    /*  Здесь пропускаем около 800 строк подобного кода*/
    
       if ($date == "17:57") echo "Семьнадцать часов пятьдесят семь минут";
       if ($date == "17:58") echo "Семьнадцать часов пятьдесят восемь минут";
       if ($date == "17:59") echo "Семьнадцать часов пятьдесят девять минут";
       if ($date == "18:00") echo "Восемьнадцать часов ноль минут";
       if ($date == "18:01") echo "Восемьнадцать часов одна минута";
       if ($date == "18:02") echo "Восемьнадцать часов две минуты";
       if ($date == "18:03") echo "Восемьнадцать часов три минуты";
       if ($date == "18:04") echo "Восемьнадцать часов четыре минуты";
    
    /*  Пропустим еще около 600 строк... Кажется закончилось... Хорошо, что в сутках только 24 часа по 60 минут в каждом. */ 
    
       if ($date == "05:58") echo "Пять часов пятьдесят восемь минут";
       if ($date == "05:59") echo "Пять часов пятьдесят девять минут";
       echo "</span></h3>";
    
    /* Но ведь есть еще года....  */
      echo '<h3>На дворе: <span style="color:silver">';
       if ($y == "2011") echo "Две тысячи одиннадцатый год";
       if ($y == "2012") echo "Две тысячи двенадцатый год";
       if ($y == "2013") echo "Две тысячи тринадцатый год";
       if ($y == "2014") echo "Две тысячи четырнадцатый год";
       if ($y == "2015") echo "Две тысячи пятнадцатый год";
       if ($y == "2016") echo "Две тысячи шестнадцатый год";
       if ($y == "2017") echo "Две тысячи семнадцатый год";
       if ($y == "2018") echo "Две тысячи восемнадцатый год";
       if ($y == "2019") echo "Две тысячи девятнадцатый год";
       if ($y == "2020") echo "Две тысячи двадцатый год";
       if ($y == "2021") echo "Две тысячи двадцать первый год";
    
    /* Подрежем немного шедевр. Похоже планируется поддержка данного ПО аж до середины века */
    
       if ($y == "2053") echo "Две тысячи пятдесят третий год";
       if ($y == "2054") echo "Две тысячи пятдесят четвертый год";
       if ($y == "2055") echo "Две тысячи пятдесят пятый год";
       echo '</span></h3>';

    Данный шедевр алгоритмизации имеет в оригинале около 5000 строк. Я его сильно сократил, но смысл не изменился. Комментарии в коде мои, в оригинале естественно никаких комментариев нет.

    RussianSpy, 27 Октября 2011

    Комментарии (29)
  9. Pascal / Говнокод #8282

    +84

    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
    program index;
    uses crt;
    const y=20;
    var a:array[1..y]of Integer;
        i,
        j,
        x,
        Found:Integer;
    begin
      clrscr;
      Found:=0;
      for i:=1 to y do
      begin
        WriteLn('Vvedite ',i,'- and element massiva');
        ReadLn(a[i]);
      end;
      Write('Vvedite X=');
      ReadLn(x);
      for i:=1 to y do
        for j:=i+1 to y do
        begin
          if (x=(Sqr(a[i])+Sqr(a[j]))) then
          begin
            Found:=Found+1;
            WriteLn('a=',a[i],' b=',a[j]);
          end;
        end;
      if Found=0 then
            WriteLn('Takih chisel net');
      ReadLn;
    end.

    одномерный числовой масив

    ITdocer, 23 Октября 2011

    Комментарии (29)
  10. Си / Говнокод #8183

    +145

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    [www.opennet.ru]
    Роб Пайк с прискорбием сообщил о смерти Денниса Ритчи, 
    создателя языка Си и одного из ключевых разработчиков 
    операционной системы UNIX. В последствие, Ритчи принимал 
    участие в разработке ОС Inferno и Plan 9, а также языка Limbo. 
    Ритчи умер дома, в возрасте 70 лет, после продолжительной болезни.
    [/www.opennet.ru]
    Прошу всех С-программистов почтить минутой молчания 
    память великого программиста Денниса Ритчи.

    Печаль.

    sayidandrtfm, 13 Октября 2011

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

    +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
    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
    <?php
    
        /*
        
            localhost Ltd - ALPHA CMS
            
            Version: 8.0
            
            File name: features_portability.php
            Description: This file contains the FEATURES PORT MODEL class.
            
            Coded by George Delaportas (G0D)
            
            localhost Ltd
            Copyright (c) 2011
        
        */
        
        
        
        // FEATURES PORT MODEL class
        class FEATURES_PORT_MODEL extends ROOT_MODEL
        {
        
            
    
        }
        
        
        
        /* ---------- End ---------- */
    
    ?>

    ALPHA CMS. Таких вот пустых классов ВРОТКОМПОТ_MODEL сорок шесть штук. Форматирование сохранено.

    telnet, 08 Октября 2011

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