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

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

    +20

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    // заполнение массива случайными числами
    template <typename T> void fill_array_with_random( T array[], size_t length ) {
    	for ( size_t i = 0; i < length; i++ ) { 
    		array[i] = rand();
    	}
    }

    Главный недостаток - K&R indent style.

    Fai, 26 Июня 2012

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

    +66

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if (mysql_num_rows(mysql_query("SELECT * FROM `usermail` WHERE `email` LIKE '%".$_POST['email']."%' "))) {
    	# email уже есть
    } else {
    	# новый email
    }

    Проверка на наличие email в таблице. Через SELECT * и LIKE !!!

    domaster, 20 Июня 2012

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

    +140

    1. 1
    http://demiart.ru/forum/journal_uploads4/j142469_1323852771.png

    http://demiart.ru/forum/journal.php?user=142469

    http://demiart.ru/forum/index.php?s=079089252ad62a33ea31e842aa83 e50a&showuser=15046

    dos_, 04 Января 2012

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

    +94

    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
    /**
     * Interface for string cleaners. Defines method that takes a string to perform cleaning and returns
     * cleaned string.
     * 
     * @author Король Абстракций.
     * @version 1.0 29.04.2011
     *
     */
    public interface StringCleaner {
    	//---------------------------------------------------------------------------------------------
    	/**
    	 * Cleans given string. Returns cleaned string.
    	 * @param string String to clean
    	 * @return Cleaned string
    	 * @throws NullPointerException <code>If string == null</code>
    	 * @since 1.0
    	 */
    	public String clean(String string);
    	//---------------------------------------------------------------------------------------------
    }
    
    // Далее реализации.
    
    public abstract class SymbolStringCleaner implements StringCleaner { ... }
    public final class AllSymbolStringCleaner extends SymbolStringCleaner { ... }
    public final class RepeatedSymbolStringCleaner extends SymbolStringCleaner { ... }
    public class TrimStringCleaner extends SymbolStringCleaner { ... }
    public final class CombinedStringCleaner implements StringCleaner { ... }
    
    // Пример использования.
    
    public class StringCleanerFactory {
    	private static final char END_OF_LINE_SYMBOL = '\n';
    	
    	public static synchronized StringCleaner createCommonStringCleaner() {
    		char[] symbolsToExclude = new char[] {' ', END_OF_LINE_SYMBOL};
    		StringCleaner repeatedSymbolsCleaner = new RepeatedSymbolStringCleaner(symbolsToExclude);
    		StringCleaner trimCleaner = new TrimStringCleaner(symbolsToExclude, true, true);
    		
    		CombinedStringCleaner resultCleaner = new CombinedStringCleaner();
    		resultCleaner.add(repeatedSymbolsCleaner);
    		resultCleaner.add(trimCleaner);
    		return resultCleaner;
    	}
    }
    
    // В реале выходит что-то вроде
    
    return str.trim().replace(" \n", '');

    Очистка строк огнем инквизиции еше никогда не была настолько абстрактной.


    P.S.

    Я удалял этот StringCleaner API 3 раза, и каждый раз наши адепты стринг клинеров под любым
    предлогом поднимали это г***о из анналов ада (svn history). Последний раз я сдался и этот
    ёжик теперь живет с нами.

    enikey, 21 Октября 2011

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

    +164

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    function trim(s)
    {
        var i,j;
        for (i = 0; i < s.length && s.charAt(i) == " "; i++);
        for (j = s.length-1; j >= 0 && s.charAt(j) == " "; j--);
        if (i<=j)
            return s.substring(i, j+1);
        else
            return '';
    }

    opzab, 19 Октября 2011

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

    +158

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    $f=file('[путь к файлу]'); 
    shuffle($f); 
    $f[0] - первая случайная строка 
    $f[1] - вторая случайная строка 
    $f[2] - третья случайная строка

    вот PHP еще. если например несколько строк надо. ну и оптимальнее чем предложено выше.
    http://megaobzor.com/forum-top-77608.html

    Наверху было классическое

    $quote=file('words.txt'); 
    echo $quote[rand(0,count($quote)-1)];

    Несомненно, оптимальнее. Особенно, если строчек эдак тыщ сто.

    Кстати, предлагаю начать очередной холивар по поводу того, как с самыми меньшими затратами вынуть из файла рандомную строчку :)

    7ion, 02 Февраля 2011

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

    +154

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    function openSQLConnection($data)
    {
    	$db_host = $data["host"];
    	$db_user = $data["login"];
    	$db_pass = $data["pass"];
    	$db_name = $data["db"];
    	mysql_connect($db_host, $db_user, $db_pass) or die(mysql_error());
    	mysql_select_db($db_name) or die(mysql_error()); 
    }

    Суровый SQL-коннектор, взято из скриптов платежной системы nextpay[ru]

    zenn, 20 Января 2011

    Комментарии (61)
  9. Lua / Говнокод #4220

    −79

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    ga = {} --gay/pure lua style
    GA = ga --1337 men style
    GlobalAdmin = ga --Java style
    GlObAlAdMiN = ga --xxx asked :D
    globalAdmin = ga --C style
    globaladmin = ga --other plain lua style

    Долго не могли решить как назвать глобальную таблицу в lua... лучшего решения не нашли.

    Alexsey, 10 Сентября 2010

    Комментарии (61)
  10. Assembler / Говнокод #3179

    +217

    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
    mov ebx, [sKey]
                                  mov ecx, 31
    
                                  l9:
                                  ;----------loop------------
                                  	fprem
    	                        shr ebx,1
                                  	jnc if9
    			.......
                                  	if9:
                                  	fmul st0,st0
                                  ;----------loop------------              
                                  loop l9

    реабилитируюсь за пост несвежего, но смешного говна немного раньше

    3.14159265, 07 Мая 2010

    Комментарии (61)
  11. JavaScript / Говнокод #2007

    +144.9

    1. 1
    <a href="javascript:void(0)" onclick="this.parentNode.submit(); return false;">Добавить</a>

    в ответ на http://govnokod.ru/1994 и длинный флуд в коментах.
    говнокод или нормально?

    tinimi, 20 Октября 2009

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