1. 1C / Говнокод #16033

    −132

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    Выборка = Запрос.Выполнить().Выбрать();
    Если Выборка.Следующий() И Выборка.Количество() > 0 Тогда
    	Возврат Выборка.ПлощадьДома;
    Иначе
    	Возврат 0;
    КонецЕсли;

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

    Olna, 21 Мая 2014

    Комментарии (25)
  2. JavaScript / Говнокод #16032

    +154

    1. 1
    2. 2
    3. 3
    function deleteCookie(name, path, domain) {
    	if (getCookie(name)) document.cookie = name + '=' + ((path) ? '; path=' + path : '') + ((domain) ? '; domain=' + domain : '') + '; expires=Thu, 01-Jan-1970 00:00:00 GMT';
    }

    ...

    gost, 21 Мая 2014

    Комментарии (69)
  3. JavaScript / Говнокод #16031

    +154

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    var turn = 0;
    		function turn_over() {
    			var text = document.getElementById('turn-over-in').value;
    			var first_letter = text.charAt(0).toLowerCase();
    			var last_letter = text.charAt(text.length-1).toUpperCase();
    			var new_text = first_letter + text.substr(1,text.length-2) + last_letter;
    			var text_array = new_text.split('');
    			var inside_out = text_array.reverse();
    			var turn_over_text = inside_out.join('');
    			document.getElementById('turn-over-out').value = turn_over_text;
    <...>

    Задача: развернуть строку текста (Абв->Вба).

    gost, 21 Мая 2014

    Комментарии (30)
  4. JavaScript / Говнокод #16030

    +154

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    function chksremail(t) {
    	if (t.value!='' && (t.value.indexOf('@')<1 || t.value.indexOf('.')<1 || t.value.length<4 || t.value.indexOf(' ')!=-1)) {
    		if (t.value.indexOf('@')<1) alert('Вы ввели неправильный адрес электронной почты! Адрес электронной почты должен обязательно содержать символ "@".');
    		else if (t.value.indexOf('.')<1) alert('Вы ввели неправильный адрес электронной почты! Адрес электронной почты должен обязательно содержать точку (".").');
    		else if (t.value.length<4) alert('Вы ввели неправильный адрес электронной почты! Адрес электронной почты должен обязательно содержать минимум 4 символа.');
    		else if (t.value.indexOf(' ')!=-1) alert('Вы ввели неправильный адрес электронной почты! Адрес электронной почты не может содержать пробелы.');
    		t.focus();
    		return false;
    	}
    	return true;
    }

    $%&$@^@#$^@rlu.ru/rlu.js

    gost, 21 Мая 2014

    Комментарии (1)
  5. JavaScript / Говнокод #16029

    +153

    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
    function b_copy(p) {
    	var f=0;
    	if (window.clipboardData&&window.clipboardData.setData) {
    		var ind=p.innerHTML;
    		ind=ind.replace(/&gt;/g,'>');
    		ind=ind.replace(/&lt;/g,'<');
    		ind=ind.replace(/&quot;/g,'"');
    		ind=ind.replace(/&amp;/g,'&');
    		window.clipboardData.setData('Text',ind);
    		if (window.clipboardData.getData('Text')==ind) {
    			alert('Код успешно скопирован в буфер обмена.');
    			f=1;
    		}
    	}
    	if (f==0) {
    		if (typeof (window.getSelection)=='function') {
    			window.getSelection().selectAllChildren(p);
    		}
    		else {
    			var r=document.body.createTextRange();
    			r.moveToElementText(p);
    			r.select();
    		}
    		alert('Нажмите кнопку "Ok", а затем клавиши CTRL+C, чтобы скопировать код в буфер обмена.');
    	}
    }

    Продолжаем искать говнокод на страницах левых сайтов.

    http://ping-admin.ru/pa.js

    gost, 21 Мая 2014

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

    +127

    1. 1
    2. 2
    3. 3
    4. 4
    <local name="jhgjkgdfghd" />
    <loadfile property="jhgjkgdfgh" srcfile="@{filepath}" failonerror="false">
    	...
    </loadfile>

    Я очень долго втыкал, почему один из овер 9000 Ant-скриптов валится....

    kostoprav, 21 Мая 2014

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

    +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
    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
    $sql_color =
    "IF(PsaleCharge.payed = " . TSALE_CONTRACTOR_INIT . ", 'red', IF(PsaleCharge.payed = " . TSALE_CONTRACTOR_PARTIAL . ", 'silver', 'green'))";
    
    $sql_title =
    "IF(PsaleCharge.payed = " . TSALE_CONTRACTOR_INIT . ", 'Не оплачено', IF(PsaleCharge.payed = " . TSALE_CONTRACTOR_PARTIAL . ", 'Оплачено частично', 'Оплачено'))";
    
    if($allow_pay) {
    	$sql_allow_pay = "";
    } else {
    	$sql_allow_pay = "OR TRUE";
    }
    
    $sql_contractor_name =
    "GROUP_CONCAT(" .
    "'<tr>\r\n<td>', " .
    "IF(PsaleCharge.tcontractor_id IS NULL, " .
    "IF(PsaleCharge.recipient IS NULL OR PsaleCharge.recipient = '', '', CONCAT(PsaleCharge.recipient, '&nbsp;')), " .
    "CONCAT('<a href=\"../tcontractors/view?id=', Tcontractor.id, '\" target=\"_blank\">', HTMLSPECIALCHARS(Tcontractor.company), '</a>&nbsp;')" .
    "), " .
    "'</td>\r\n<td style=\'text-align:right;\'>', " .
    
    "IF(Psale.status = " . PSALE_STATUS_CLOSE . " $sql_allow_pay, CONCAT('<span style=\'color:', $sql_color, ';\' title=\'', $sql_title, '\'>', PsaleCharge.amount, '</span>'), " .
    
    "CONCAT(" .
    "'<a style=\'color:', $sql_color, ';\' title=\'', $sql_title, '\' href=\'#\' onclick=\'onPsaleChargeEdit(', PsaleCharge.id, ', ', PsaleCharge.psale_id,  ', false); return false;\'>', " .
    "PsaleCharge.amount, " .
    "'</a>'" .
    ")), " .
    
    "'</td>\r\n</tr>\r\n'" .
    "SEPARATOR ' ')";
    
    $sql_contractors =
    "SELECT $sql_contractor_name " .
    "FROM psale_charges PsaleCharge " .
    "LEFT JOIN tcontractors Tcontractor ON PsaleCharge.tcontractor_id = Tcontractor.id " .
    "WHERE PsaleCharge.psale_id = Psale.id ";

    Формируем разметку в SQL-запросе...

    DirtyG, 21 Мая 2014

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

    +135

    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
    // Hammer the CFG with large numbers of overlapping variable scopes, which
    // implicit destructors triggered at each edge.
    
    #define EXPAND_BASIC_STRUCT(i) struct X##i { X##i(int); ~X##i(); };
    #define EXPAND_NORET_STRUCT(i) struct X##i { X##i(int); ~X##i() __attribute__((noreturn)); };
    EXPAND_BASIC_STRUCT(0000); EXPAND_NORET_STRUCT(0001);
    EXPAND_BASIC_STRUCT(0010); EXPAND_BASIC_STRUCT(0011);
    EXPAND_BASIC_STRUCT(0100); EXPAND_NORET_STRUCT(0101);
    EXPAND_NORET_STRUCT(0110); EXPAND_BASIC_STRUCT(0111);
    EXPAND_BASIC_STRUCT(1000); EXPAND_NORET_STRUCT(1001);
    EXPAND_BASIC_STRUCT(1010); EXPAND_BASIC_STRUCT(1011);
    EXPAND_NORET_STRUCT(1100); EXPAND_NORET_STRUCT(1101);
    EXPAND_BASIC_STRUCT(1110); EXPAND_BASIC_STRUCT(1111);
    
    #define EXPAND_2_VARS(c, i, x)  const X##i var_##c##_##i##0(x), &var_##c##_##i##1 = X##i(x)
    #define EXPAND_4_VARS(c, i, x)  EXPAND_2_VARS(c, i##0, x);  EXPAND_2_VARS(c, i##1, x)
    #define EXPAND_8_VARS(c, i, x)  EXPAND_4_VARS(c, i##0, x);  EXPAND_4_VARS(c, i##1, x)
    #define EXPAND_16_VARS(c, i, x) EXPAND_8_VARS(c, i##0, x);  EXPAND_8_VARS(c, i##1, x)
    #define EXPAND_32_VARS(c, x)    EXPAND_16_VARS(c, 0, x);    EXPAND_16_VARS(c, 1, x)
    
    #define EXPAND_2_INNER_CASES(i, x, y)    INNER_CASE(i, x, y);             INNER_CASE(i + 1, x, y);
    #define EXPAND_4_INNER_CASES(i, x, y)    EXPAND_2_INNER_CASES(i, x, y)    EXPAND_2_INNER_CASES(i + 2, x, y)
    #define EXPAND_8_INNER_CASES(i, x, y)    EXPAND_4_INNER_CASES(i, x, y)    EXPAND_4_INNER_CASES(i + 4, x, y)
    #define EXPAND_16_INNER_CASES(i, x, y)   EXPAND_8_INNER_CASES(i, x, y)    EXPAND_8_INNER_CASES(i + 8, x, y)
    #define EXPAND_32_INNER_CASES(i, x, y)   EXPAND_16_INNER_CASES(i, x, y)   EXPAND_16_INNER_CASES(i + 16, x, y)
    
    #define EXPAND_2_OUTER_CASES(i, x, y)    OUTER_CASE(i, x, y);             OUTER_CASE(i + 1, x, y);
    #define EXPAND_4_OUTER_CASES(i, x, y)    EXPAND_2_OUTER_CASES(i, x, y)    EXPAND_2_OUTER_CASES(i + 2, x, y)
    #define EXPAND_8_OUTER_CASES(i, x, y)    EXPAND_4_OUTER_CASES(i, x, y)    EXPAND_4_OUTER_CASES(i + 4, x, y)
    #define EXPAND_16_OUTER_CASES(i, x, y)   EXPAND_8_OUTER_CASES(i, x, y)    EXPAND_8_OUTER_CASES(i + 8, x, y)
    #define EXPAND_32_OUTER_CASES(i, x, y)   EXPAND_16_OUTER_CASES(i, x, y)   EXPAND_16_OUTER_CASES(i + 16, x, y)

    Рекурсивное (EXPAND_... ) макроговно из clang и генератор (EXPAND_..._STRUCT) структур через какую-то непонятную жопу
    https://github.com/llvm-mirror/clang/blob/master/INPUTS/cfg-nested-var-scopes.cpp

    j123123, 21 Мая 2014

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

    +17

    1. 1
    MagicClass::getInstance().getFooFactory().createFoo().killMePlease();

    http://habrahabr.ru/post/222007/
    А вообще "Внедрение зависимостей в C++ через контейнеры" - та ещё традиционная специальная олимпиада крестовиков.

    LispGovno, 20 Мая 2014

    Комментарии (11)
  10. Objective C / Говнокод #16024

    −401

    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
    #import "NSNumber+Validate.h"
    
    @implementation NSNumber (Validate)
    + (NSNumber*)validate:(NSNumber *)number
    {
        NSNumber* num = @0;
        if(number != nil)
        {
            num = number;
        }
        return num;
    }
    @end

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

    Xtasy, 20 Мая 2014

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