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

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

    +1

    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
    public function save() {
    		if (!empty(self::$single)) {
    			if (isset(self::$single['id'])) {
    				$id = self::$single['id'];
    				unset(self::$single['id']);
    				$arraySetters = [];
    				foreach (self::$single as $key => $value) {
    					$arraySetters[] = '`'.$key.'` = \''.$value.'\'';
    				}
    				self::$single['id'] = $id;
    				self::$exec = static::$db->prepare('UPDATE '.self::$table.' SET '.implode(', ', $arraySetters).' WHERE `id` = '.$id.' LIMIT 1');
    				return self::$exec->execute();
    			} else {
    				$arrayKeys = [];
    				$arrayValues = [];
    				foreach (self::$single as $key => $value) {
    					$arrayKeys[] = '`'.$key.'`';
    					$arrayValues[] = '\''.$value.'\'';
    				}
    				self::$exec = static::$db->prepare('INSERT INTO '.self::$table.' ('.implode(', ', $arrayKeys).') VALUES ('.implode(', ', $arrayValues).')');
    				if ($status = self::$exec->execute()) {
    					self::$single['id'] = static::$db->lastInsertId();
    				}
    				return $status;
    			}
    		}
    		return false;
    	}

    HiNeX, 12 Октября 2015

    Комментарии (7)
  3. 1C / Говнокод #18850

    −98

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ
    |	ДанныеСотрудниковСрезПоследних.Подразделение
    |ИЗ
    |	РегистрСведений.ДанныеСотрудников.СрезПоследних(&Дата, ) КАК ДанныеСотрудниковСрезПоследних
    |ГДЕ
    |	ДанныеСотрудниковСрезПоследних.Сотрудник = &Сотрудник";
    
    Запрос.УстановитьПараметр("Дата", ТекущаяДата());
    Запрос.УстановитьПараметр("Сотрудник", Пользователь.ФизЛицо);

    классическая ошибка СрезПоследних и ГДЕ (сотрудник, ессссно, является измерением); непонятно зачем присобачена &Дата
    откуда бы вы думали взят этот код?
    аддон "Закупки" для БГУ, поставщик Фирма "1С", версия 1.0.9.1. ОбщийМодуль.ДляУП.ПолучитьПодразделениеТ екущегоПользователя()
    И чего народ хочет от быдлокодеров-франчей, если сами 1С так пишут...

    IHate1C, 12 Октября 2015

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

    +7

    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
    $cachefile = __DIR__. "/cache/".hash("md5", json_encode($_GET));
    
    if (file_exists($cachefile))
    {
      include($cachefile);
    }
    else
    {
    ob_start();
    
    do_something();
    
    $fp = fopen($cachefile,"w");
    fwrite($fp, ob_get_contents());
    fclose($fp);
    ob_end_flush();
    }

    Кэширование для инвалидов, применяется во внешнем API.

    nihirash, 10 Сентября 2015

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

    +1

    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
    <?
    require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
    $APPLICATION->SetTitle("Новости");
    ob_start();
    
    $APPLICATION->IncludeComponent("bitrix:news", "news-lenta", array(
    	"IBLOCK_TYPE" => "press",
    	"IBLOCK_ID" => "12",
    # вырезано: просто вызывается компонент Битрикс "список новостей"
    );
    
    # веселье тут. Шах и мат, Битрикс!
    $html_code = ob_get_contents();
    ob_end_clean();
    $doc = new DOMDocument();
    
    $html_code = mb_convert_encoding('<meta charset="utf-8">'.$html_code, 'HTML-ENTITIES', "UTF-8");
    if($doc->loadHTML($html_code))
    {
    	$xpath = new DOMXpath($doc);
    }
    // Элемент
    $element_list = $xpath->query(".//descendant::div[@id='element']");
    if($element_list->length > 0)
    {?>
        <div class="container"><?
    	for($i=0;$i<$element_list->length;$i++)
    	{
    		echo $doc->saveHTML($element_list->item($i));
    	}
    	?></div><?}
    
    // Новости
    $blog_post_list = $xpath->query(".//descendant::div[@id='res']/div[@class='blog margin-bottom-40']");
    if($blog_post_list->length > 0)
    {
    	?><div class="container blog-full-width"><?
    	for($i=0;$i<$blog_post_list->length;$i++)
    	{
    		
    		echo $doc->saveHTML($blog_post_list->item($i));
    		
    	}
    	?></div><?
    }
    // Пагинатор
    $pagination_list = $xpath->query(".//descendant::ul[@class='pagination']");
    if($pagination_list->length > 0)
    {
    	?><div class="text-center"><?
    	for($i=0;$i<$pagination_list->length;$i++)
    	{
    		
    		echo $doc->saveHTML($pagination_list->item($i));
    		
    	}
    	?></div><?
    }
    ?>
    
     <? require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?>

    Шах и мат, Битрикс!

    nik757, 07 Сентября 2015

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

    +2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    var popup = function () {
                if ($('.popup_close').length > 0) {
                    $('.popup_close').on('click', function () {
                        $(this).closest('.wrapper_outer_popup').addClass('hidden');
                    });
                    $('.popup_target').on('click', function () {
                        $('.popup[data-popup="' + $(this).attr('data-target') + '"]').removeClass('hidden');
                    });
                }
            }(popup);

    Друг фронтендер, написал сие творение, из его слов он создал анонимную функцию которую тут же вызывает, суть в
    var popup = function () {/* какой-то код */}(popup); это все вместо (function(){ /*какой-то код */}) ();

    snayps, 11 Августа 2015

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

    +141

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    switch($op){
            case 'main': IndexNewszMain();
                    break;
    // ......
            case 'savepost':
                    if(CommentsEditPostSave(SafeEnv($_GET['newsz'], 11, int), 'newsz_comments')){
                            break;
                    }
    // .....
            // //
            default: IndexNewszMain();
    }

    Роутинг из модуля одной русской CMS

    Мартин, 24 Июля 2015

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

    +145

    1. 1
    if ($test_domain->num_rows or true )

    Обычная проверка на количество строк в запросе... Видимо, не всегда попадало в условие, и автор решил добавить or)

    WladySpb, 22 Июля 2015

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

    +144

    1. 1
    uint8_t value = arg & 1 ? arg ^ 1 : arg;

    jangolare, 13 Июля 2015

    Комментарии (7)
  10. Куча / Говнокод #18449

    +143

    1. 1
    https://github.com/lhartikk/ArnoldC

    LispGovno, 08 Июля 2015

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

    −92

    1. 1
    Зачем в питоне re.match, re.search = re.match('^' + regexp) и re.findall? Первые 2 меня вообще вымораживают.

    3_14dar, 27 Июня 2015

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