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

    В номинации:
    За время:
  2. Куча / Говнокод #18471

    +153

    1. 1
    2. 2
    3. 3
    Оторвемся чуть от политики. 
    Вопрос у меня такой.
    Надо мне зарегать около полу сотни доменных имен. Вот собственно вопрос кто знает регистратор имен. подешевле и что бы мог регать  имена из файлика например.

    Сразу же улучшу
    https://codebabes.com/

    Vasiliy, 11 Июля 2015

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

    +153

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    // В чем смысл переменной knc?
    var knc = 0;
    var k_fr = parent.document.getElementById(kph);
    if (k_fr) {
        knc = 1;
    }

    Маленький кусочек говнокода.
    Не сказал бы что тут что-то феноменальное, но подобная логика на всем проекте
    "Мы создали переменную для проверки для того что бы проверить переменную для проверки"

    MrFranke, 18 Декабря 2014

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

    +153

    1. 1
    2. 2
    3. 3
    var getSelectedTabName = function() {
      return $('#costs-category').find('.tabs-v4-i_active').find('.tabs-v4-l').data('category_alias');
    };

    Кто-то ниасилил селекторы в jquery

    fake, 01 Декабря 2014

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

    +153

    1. 1
    document.body.innerHTML = document.body.innerHTML.replace(/guest/g, '');<

    DesmondHume, 23 Октября 2014

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

    +153

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    /*рыба*/
                $render['variables']['winter_complite'] = array(
                    'Жилищный фонд'             =>100
                ,'Котельные'                =>100
                ,'Тепловые сети'            =>100
                ,'Водопроводные сети'       =>100
                ,'Канализационные сети'     =>100
                ,'Создание запасов топлива' =>100
                );

    reformat me!

    memclutter, 19 Октября 2014

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

    +153

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    if(count($colors)>1){
        if($i==2){
            $col = $colors[1];
        }else{
            $col = $colors[0];
        }
    }else{
        $col=$colors[0];
    }

    Вот где не надо - тьма тернарных операторов, а где их логичнее всего ожидать - вот такой огород из IF/ELSE

    Khvorostin, 13 Октября 2014

    Комментарии (17)
  8. JavaScript / Говнокод #16689

    +153

    1. 1
    2. 2
    $("div.entry-comment-wrapper").has("p strong a").each( function (i,e){
    $.ajax({'url':'http://govnokod.ru/ratings/comment/'+$(e).attr('id').replace('comment-','')+'/against'}) } );

    gost, 12 Сентября 2014

    Комментарии (0)
  9. PHP / Говнокод #16613

    +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
    if(!empty($this->aActions))
    			$sMenuItems = htmlspecialcharsbx(CAdminPopup::PhpToJavaScript($this->aActions));
    ?>
    <tr class="adm-list-table-row<?=(isset($this->aFeatures["footer"]) && $this->aFeatures["footer"] == true? ' footer':'')?><?=$this->bEditMode?' adm-table-row-active' : ''?>"<?=($sMenuItems <> ""? ' oncontextmenu="return '.$sMenuItems.';"':'');?><?=($sDefAction <> ""? ' ondblclick="'.$sDefAction.'"'.(!empty($sDefTitle)? ' title="'.GetMessage("admin_lib_list_double_click").' '.$sDefTitle.'"':''):'')?>>
    <?
    
    		if(count($this->pList->arActions)>0 || $this->pList->bCanBeEdited):
    			$check_id = RandString(5);
    ?>
    	<td class="adm-list-table-cell adm-list-table-checkbox adm-list-table-checkbox-hover<?=$this->bReadOnly? ' adm-list-table-checkbox-disabled':''?>"><input type="checkbox" class="adm-checkbox adm-designed-checkbox" name="ID[]" id="<?=$this->table_id."_".$this->id."_".$check_id;?>" value="<?=$this->id?>" autocomplete="off" title="<?=GetMessage("admin_lib_list_check")?>"<?=$this->bReadOnly? ' disabled="disabled"':''?><?=$this->bEditMode ? ' checked="checked" disabled="disabled"' : ''?> /><label class="adm-designed-checkbox-label adm-checkbox" for="<?=$this->table_id."_".$this->id."_".$check_id;?>"></label></td>
    <?
    		endif;
    
    		if($this->pList->bShowActions):
    			if(!empty($this->aActions)):
    ?>
    	<td class="adm-list-table-cell adm-list-table-popup-block" onclick="BX.adminList.ShowMenu(this.firstChild, this.parentNode.oncontextmenu(), this.parentNode);"><div class="adm-list-table-popup" title="<?=GetMessage("admin_lib_list_actions_title")?>"></div></td>
    <?
    			else:
    ?>
    	<td class="adm-list-table-cell"></td>
    <?
    			endif;
    		endif;

    bitrix

    Лапша PHP кода, с подливкой из HTML. Присутствуют специи из альтернативного синтаксиса оператора if для шаблонов

    memclutter, 29 Августа 2014

    Комментарии (53)
  10. JavaScript / Говнокод #16573

    +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
    27. 27
    function parse(input) {
            var options = arguments.length > 1 ? arguments[1] : {},
        
                peg$FAILED = {},
        
                peg$startRuleFunctions = { grammar: peg$parsegrammar },
                peg$startRuleFunction  = peg$parsegrammar,
        
                peg$c0 = peg$FAILED,
                peg$c1 = null,
                peg$c2 = [],
                peg$c3 = function(initializer, rules) {
    . . .
                peg$c142 = { type: "other", description: "whitespace" },
                peg$c143 = /^[ \t\x0B\f\xA0\uFEFF\u1680\u180E\u2000-\u200A\u202F\u205F\u3000]/,
                peg$c144 = { type: "class", value: "[ \\t\\x0B\\f\\xA0\\uFEFF\\u1680\\u180E\\u2000-\\u200A\\u202F\\u205F\\u3000]", description: "[ \\t\\x0B\\f\\xA0\\uFEFF\\u1680\\u180E\\u2000-\\u200A\\u202F\\u205F\\u3000]" },
        
                peg$currPos          = 0,
                peg$reportedPos      = 0,
                peg$cachedPos        = 0,
                peg$cachedPosDetails = { line: 1, column: 1, seenCR: false },
                peg$maxFailPos       = 0,
                peg$maxFailExpected  = [],
                peg$silentFails      = 0,
        
                peg$result;
    . . . // + 3К строк бреда до конца функции

    История моих мытарств и жалких метаний:
    Меня попросило начальство радикально улучшить формат в котором приложение хранит данные. Думал я, думал, и решил, что YAML ка нельзя лучше подходит для задачи (нужно хранить описание слайдов презентации, т.е. много текста и довольно схематичная графика, все это желательно бы иметь возможность комфортно редактировать в текстовом виде, создавать заготовки и т.д.).

    Шаг первый: поиск готового YAML парсера, врезультате обнаружились две штуки для АС3. Один - клон Ява парсера, в котором по класу на токен. Я не шучу. Проект заброшен 5 лет назад. Второй: заброшен 4 года назад, все в одном файле, парсится регулярками и магией, какие-то комментарии имеются, но они только свидетельствуют о несостоятельности писавшего коментарии.

    Подумал: если нет нормального парсера, может есть генератор парсеров?

    Шаг второй: поиск обнаружил одну попытку написать клон ANTLR, но очень ограниченную, и не работающую.

    Думаю: ну бля, если все так херово, может с ж.скрипта портирую чего-нибудь простенькое, PEG как раз должен подойти.

    И тут я нашел это.

    wvxvw, 21 Августа 2014

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

    +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
    27. 27
    28. 28
    if(!CModule::IncludeModule("iblock")) return; 
    $arFilter = array(
    	"IBLOCK_ID" => intval($arParams["IBLOCK_ID"]),
        "SECTION_CODE" => "",
    	"PROPERTY_OWNER"=>CUser::GetId(),
    );
    $arSelect = Array("ID", "NAME", "PROPERTY_arrived", "PROPERTY_IDTRACK", "PROPERTY_OWNER");
    $res = CIBlockElement::GetList(Array(), $arFilter, false, Array(), $arSelect);
    
    $arResult = array();
    while($ob = $res->GetNextElement())
    {
     $arFields = $ob->GetFields();
     $data = array("TRACK"=>$arFields);
     
     $arSelectHistroty = array("property_date","property_status_str","property_place","name");
     $arFilterHistroty = array("IBLOCK_ID" =>$arParams["IBLOCK_ID_HISTORY"],"SECTION_CODE" => "","NAME"=>$arFields[ID]);
     $resHistory = CIBlockElement::GetList(Array(), $arFilterHistroty, false, Array(), $arSelectHistroty);
     
     while($history = $resHistory->GetNextElement()){
    	$history = $history->GetFields();
    	$data["HISTORY"][] = $history;
     }
     
    
     $arResult["ITEMS"][] = $data;
     
    };

    заведомо известно что в $arFields[ID] передается 1301
    строка 17, если name маленькими буквами то ответ не правильный, т.е возвращает элементы с [NAME] => 1294.
    но если NAME большими буквами, то ответ правильный: ****"SECTION_CODE" => "","NAME"=>1301); < часть ответа.
    Ладно бы ничего не возвращал,...но с ошибкой..

    Guron, 20 Августа 2014

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