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

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

    +173

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    try {
        return JSON.parse(this.responseText)
    } catch (e) {
        throw e
    }

    паттерн "поддержка исключений" - если исключение всплывает - нужно его подтолкнуть, чтобы не потонуло х)

    nin-jin, 05 Марта 2011

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

    +173

    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
    void DrawingLibrary::drawText(int x0, int y0, char string[], int strlen, int red, int green, int blue, int alpha) {
    	for(int i = 0; i < strlen; ++i) {
    		char chr = string[i];
    		int sX = x0 + i * 8;
    		// проходимся по символам, рисуя их
    		if(chr == '!') {
    			bool symbol[8][8] = {{0,0,0,0,0,1,0,0},{0,0,0,0,0,1,0,0},{0,0,0,0,0,1,0,0},{0,0,0,0,0,1,0,0},{0,0,0,0,0,1,0,0},{0,0,0,0,0,0,0,0},{0,0,0,0,0,1,0,0},{0,0,0,0,0,0,0,0}};
    			this->drawSymbol(sX, y0, symbol, red, green, blue, alpha);
    		}
    		else if(chr == '"') {
    			bool symbol[8][8] = {{0,0,0,0,1,0,1,0},{0,0,0,0,1,0,1,0},{0,0,0,0,1,0,1,0},{0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0}};
    			this->drawSymbol(sX, y0, symbol, red, green, blue, alpha);
    		}
    		else if(chr == '#') {
    			bool symbol[8][8] = {{0,0,0,0,1,0,1,0},{0,0,0,0,1,0,1,0},{0,0,0,1,1,1,1,1},{0,0,0,0,1,0,1,0},{0,0,0,1,1,1,1,1},{0,0,0,0,1,0,1,0},{0,0,0,0,1,0,1,0},{0,0,0,0,0,0,0,0}};
    			this->drawSymbol(sX, y0, symbol, red, green, blue, alpha);
    		}
    		/* еще 135 строк такого "кода" */
    		else if(chr == 'э') {
    			bool symbol[8][8] = {{0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0},{0,0,0,0,1,1,1,0},{0,0,0,0,0,0,0,1},{0,0,0,0,0,1,1,1},{0,0,0,0,0,0,0,1},{0,0,0,0,1,1,1,0},{0,0,0,0,0,0,0,0}};
    			this->drawSymbol(sX, y0, symbol, red, green, blue, alpha);
    		}
    		else if(chr == 'ю') {
    			bool symbol[8][8] = {{0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0},{0,0,0,1,0,0,1,0},{0,0,0,1,0,1,0,1},{0,0,0,1,1,1,0,1},{0,0,0,1,0,1,0,1},{0,0,0,1,0,0,1,0},{0,0,0,0,0,0,0,0}};
    			this->drawSymbol(sX, y0, symbol, red, green, blue, alpha);
    		}
    		else if(chr == 'я') {
    			bool symbol[8][8] = {{0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0},{0,0,0,0,0,1,1,1},{0,0,0,0,1,0,0,1},{0,0,0,0,0,1,1,1},{0,0,0,0,0,1,0,1},{0,0,0,0,1,0,0,1},{0,0,0,0,0,0,0,0}};
    			this->drawSymbol(sX, y0, symbol, red, green, blue, alpha);
    		}
    	}
    }

    Функция, рисующая на картинке текст.

    ShitCode, 21 Февраля 2011

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

    +173

    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
    $pattern = '/[^A-Za-zА-Яа-я0-9]/u';
    $phrase = $this->data['ProjectsPhrase']['phrase'];
    
    $phrase = preg_replace($pattern, ' ', $phrase);
    
    $phrase = str_replace('  ', ' ', $phrase);
    $phrase = str_replace('  ', ' ', $phrase);
    $phrase = str_replace('  ', ' ', $phrase);
    $phrase = str_replace('  ', ' ', $phrase);
    $phrase = str_replace('  ', ' ', $phrase);
    $phrase = str_replace('  ', ' ', $phrase);
    $phrase = str_replace('  ', ' ', $phrase);
    $phrase = trim($phrase);

    Вот такое говнокодище встретил в проекте. Паранойя такая паранойя…

    govnouzver, 17 Февраля 2011

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

    +173

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    $files = array();
            $dir = opendir("./");
            while (($file = readdir($dir))) {
                $files[] = trim($file);
            }
            closedir($dir);
            $files = implode(" ", $files);
    
            if (strpos($files, $imagepath) === false) {
    
                mkdir("./" . $imagepath);
            }

    Именно так настоящие джедаи проверяют наличие папки в текущей директории и создают ее, если она не обнаружена. is_dir() придумали трусливые ситхи!

    zeus1, 05 Февраля 2011

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

    +173

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    $file='spiski.txt';
    $handle = fopen($file, "r");
    while ( $handle == FALSE )
    {
    $handle = fopen($file, "r");
    }

    Метод назойливого открывания файла.

    basename, 19 Января 2011

    Комментарии (27)
  7. JavaScript / Говнокод #5158

    +173

    1. 1
    2. 2
    3. 3
    4. 4
    function isNullorUndefined(val) {
                var u;
                return ((u === val) || (val == null));
            }

    Из онлайн примеров одного разработчика элементов интерфейса (за большие бабки продают между прочим).

    BackTone, 06 Января 2011

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

    +173

    1. 1
    2. 2
    3. 3
    function int2float($i) {
        return (string) $i . '.00';
    }

    Vyacheslav, 28 Декабря 2010

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

    +173

    1. 1
    2. 2
    3. 3
    4. 4
    if (button == GLUT_LEFT_BUTTON && state == GLUT_DOWN)
        lb = true;
    else
        lb = false;

    Уроки какого-то умника по OpenGL. И вот такие "творения" на каждом шагу.

    psina-from-ua, 27 Декабря 2010

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

    +173

    1. 1
    $dateEnd = date("Y-m-d",mktime(23, 59, 59, date("m"), date("d"), date("Y")));

    У кого-то хватило ума почитать документацию, а вот понять её - нет.

    trinkl, 27 Декабря 2010

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

    +173

    1. 1
    #define arrVec[2].realVectorInfo.Count 5

    Мало того, что встретил это в проекте, доставшемся от "предков", так ведь и MSVS 6.0 проглатывает.
    Выражение arrVec[2].realVectorInfo.Count успешно заменялось на 5.
    Заметил подставу после появления строки arrVec[i].realVectorInfo.Count в проекте, в результате рефакторинга.

    Говногость, 20 Декабря 2010

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