1. PHP / Говнокод #23384

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if ("any string" == 0) {
        echo 'php govno';
    } else {
        echo 'php ne govno';
    }

    Баян, как с вложенным тернарным оператором?

    vistefan, 05 Октября 2017

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

    +10

    1. 1
    $output = preg_replace("/[0-9]{2}$/", ".$0", $input);

    На входе строка с числом. На выходе должно быть это число, поделенное на 100. Далее, диалог:

    [И]нтересующийся: А чем плохо просто поделить на сто?
    [Г]овнокодер: У числа могут быть нули впереди .
    [И]: Ну оно же приведется к флоату при делении
    [Г]: php > var_dump(‎‎5435353534/100);
    float(‎‎54353535.34)
    [Г]: php > var_dump(‎‎00005435353534/100);
    float(‎‎7459203.48)
    [Г]: результат должен быть как у первого

    lex, 05 Октября 2017

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

    0

    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
    &НаКлиенте
    Процедура ИзменитьПометкуУдаления(Команда)
    	...
    	Если ПУ(ссылкаНаОтчет) = Истина 
    	Тогда
    		текстВопроса = "Снять с """ + ссылкаНаОтчет + """ пометку на удаление?";
    	Иначе 
    		текстВопроса = "Пометить """ + ссылкаНаОтчет + """ на удаление?";
    	КонецЕсли;
    	Если Вопрос(текстВопроса, РежимДиалогаВопрос.ДаНет, 0) = КодВозвратаДиалога.Да
    	Тогда
    		СПУ( ссылкаНаОтчет, Не(ПУ(ссылкаНаОтчет)));                                      	
    	КонецЕсли; 
    	ОбновитьСписок();
    КонецПроцедуры
    
    &НаСервере
    Функция ПУ(ссылка)
    	Возврат ссылка.ПометкаУдаления;
    КонецФункции
    
    &НаСервере
    Процедура СПУ(ссылка, значение)
    	о = Документы.РегламентированныйОтчет.Выбрать();
    	Пока о.Следующий() Цикл 	
    		если о.Ссылка = ссылка тогда
    			оо = о.ПолучитьОбъект();
    			оо.ПометкаУдаления = значение;
    			оо.Записать();
    		КонецЕсли;	
    	КонецЦикла;
    КонецПроцедуры

    Установка пометки на удаление во внешней обработке от одного интегратора. Дважды происходит получение признака пометки удаления из ссылки. Код процедуры СПУ даже комментировать трудно.

    maalssy, 05 Октября 2017

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    function xhr(method, url, async, user, password) {
        let r = new XMLHttpRequest();
        r.open(method, url, async, user, password);
        r.timeout = 10;
    }

    Аффтар данной конструкции задаёт типа загадку:
    "Есть у нас обертка над XMLHttpRequest. Отгадайте что может пойти не так?"

    Ссыль: https://pikabu.ru/story/zagadka_po_js_5383775

    ps. Учи стандарты JS фокусник!

    Dg_INC, 04 Октября 2017

    Комментарии (9)
  5. Куча / Говнокод #23380

    −1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    <div th:replace="fragments/block/main/main_block1 :: block"></div>
    <div th:replace="fragments/block/main/main_block2 :: block"></div>
    <div th:replace="fragments/block/main/main_block3 :: block"></div>
    <div th:replace="fragments/block/main/main_block4 :: block"></div>
    <div th:replace="fragments/block/main/main_block5 :: block"></div>
    <div th:replace="fragments/block/main/main_block6 :: block"></div>
    <div th:replace="fragments/block/main/main_block7 :: block"></div>

    Влад "Антикоммит", ты надоел

    RaZIeL, 03 Октября 2017

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

    −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
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    <?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?>
    <div class="catalog-section">
    <?if($arParams["DISPLAY_TOP_PAGER"]):?>
    	<?=$arResult["NAV_STRING"]?><br />
    <?endif;?>
    <table cellpadding="0" cellspacing="0" border="0">
    		<?foreach($arResult["ITEMS"] as $cell=>$arElement):?>
    		<?
    		$this->AddEditAction($arElement['ID'], $arElement['EDIT_LINK'], CIBlock::GetArrayByID($arParams["IBLOCK_ID"], "ELEMENT_EDIT"));
    		$this->AddDeleteAction($arElement['ID'], $arElement['DELETE_LINK'], CIBlock::GetArrayByID($arParams["IBLOCK_ID"], "ELEMENT_DELETE"), array("CONFIRM" => GetMessage('CT_BCS_ELEMENT_DELETE_CONFIRM')));
    		?>
    		<?if($cell%$arParams["LINE_ELEMENT_COUNT"] == 0):?>
    		<tr>
    		<?endif;?>
    
    		<td valign="top" width="<?=round(100/$arParams["LINE_ELEMENT_COUNT"])?>%" id="<?=$this->GetEditAreaId($arElement['ID']);?>">
    
    			<table cellpadding="0" cellspacing="2" border="0">
    				<tr>
    					<?if(is_array($arElement["PREVIEW_PICTURE"])):?>
    						<td valign="top">
    						<a href="<?=$arElement["DETAIL_PAGE_URL"]?>"><img border="0" src="<?=$arElement["PREVIEW_PICTURE"]["SRC"]?>" width="<?=$arElement["PREVIEW_PICTURE"]["WIDTH"]?>" height="<?=$arElement["PREVIEW_PICTURE"]["HEIGHT"]?>" alt="<?=$arElement["NAME"]?>" title="<?=$arElement["NAME"]?>" /></a><br />
    						</td>
    					<?elseif(is_array($arElement["DETAIL_PICTURE"])):?>
    						<td valign="top">
    						<a href="<?=$arElement["DETAIL_PAGE_URL"]?>"><img border="0" src="<?=$arElement["DETAIL_PICTURE"]["SRC"]?>" width="<?=$arElement["DETAIL_PICTURE"]["WIDTH"]?>" height="<?=$arElement["DETAIL_PICTURE"]["HEIGHT"]?>" alt="<?=$arElement["NAME"]?>" title="<?=$arElement["NAME"]?>" /></a><br />
    						</td>
    					<?endif?>
    					<td valign="top"><a href="<?=$arElement["DETAIL_PAGE_URL"]?>"><?=$arElement["NAME"]?></a><br />
    						<?foreach($arElement["DISPLAY_PROPERTIES"] as $pid=>$arProperty):?>
    							<?=$arProperty["NAME"]?>: <?
    								if(is_array($arProperty["DISPLAY_VALUE"]))
    									echo implode(" / ", $arProperty["DISPLAY_VALUE"]);
    								else
    									echo $arProperty["DISPLAY_VALUE"];?><br />
    						<?endforeach?>
    						<br />
    						<?=$arElement["PREVIEW_TEXT"]?>
    					</td>
    				</tr>
    			</table>
    			<?if(is_array($arElement["OFFERS"]) && !empty($arElement["OFFERS"])):?>
    				<?foreach($arElement["OFFERS"] as $arOffer):?>
    					<?foreach($arParams["OFFERS_FIELD_CODE"] as $field_code):?>
    						<small><?echo GetMessage("IBLOCK_FIELD_".$field_code)?>: <?
    								echo $arOffer[$field_code];?></small><br />
    					<?endforeach;?>
    					<?foreach($arOffer["DISPLAY_PROPERTIES"] as $pid=>$arProperty):?>
    						<small><?=$arProperty["NAME"]?>: <?
    							if(is_array($arProperty["DISPLAY_VALUE"]))
    								echo implode(" / ", $arProperty["DISPLAY_VALUE"]);
    							else
    								echo $arProperty["DISPLAY_VALUE"];?></small><br />
    					<?endforeach?>
    					<?foreach($arOffer["PRICES"] as $code=>$arPrice):?>
    						<?if($arPrice["CAN_ACCESS"]):?>
    							<p><?=$arResult["PRICES"][$code]["TITLE"];?>:  
    							<?if($arPrice["DISCOUNT_VALUE"] < $arPrice["VALUE"]):?>
    								<s><?=$arPrice["PRINT_VALUE"]?></s> <span class="catalog-price"><?=$arPrice["PRINT_DISCOUNT_VALUE"]?></span>
    							<?else:?>
    								<span class="catalog-price"><?=$arPrice["PRINT_VALUE"]?></span>
    							<?endif?>
    							</p>
    						<?endif;?>
    					<?endforeach;?>
    					<p>
    					<?if($arParams["DISPLAY_COMPARE"]):?>
    						<noindex>
    						<a href="<?echo $arOffer["COMPARE_URL"]?>" rel="nofollow"><?echo GetMessage("CATALOG_COMPARE")?></a> 
    						</noindex>
    					<?endif?>
    					<?if($arOffer["CAN_BUY"]):?>
    						<?if($arParams["USE_PRODUCT_QUANTITY"]):?>
    							<form action="<?=POST_FORM_ACTION_URI?>" method="post" enctype="multipart/form-data">
    							<table border="0" cellspacing="0" cellpadding="2">
    								<tr valign="top">
    									<td><?echo GetMessage("CT_BCS_QUANTITY")?>:</td>
    									<td>
    										<input type="text" name="<?echo $arParams["PRODUCT_QUANTITY_VARIABLE"]?>" value="1" size="5">
    									</td>
    								</tr>
    							</table>
    							<input type="hidden" name="<?echo $arParams["ACTION_VARIABLE"]?>" value="BUY">
    							<input type="hidden" name="<?echo $arParams["PRODUCT_ID_VARIABLE"]?>" value="<?echo $arOffer["ID"]?>">
    							<input type="submit" name="<?echo $arParams["ACTION_VARIABLE"]."BUY"?>" value="<?echo GetMessage("CATALOG_BUY")?>">
    							<input type="submit" name="<?echo $arParams["ACTION_VARIABLE"]."ADD2BASKET"?>" value="<?echo GetMessage("CATALOG_ADD")?>">
    							</form>
    						<?else:?>
    							<noindex>
    							<a href="<?echo $arOffer["BUY_URL"]?>" rel="nofollow"><?echo GetMessage("CATALOG_BUY")?></a>
    							 <a href="<?echo $arOffer["ADD_URL"]?>" rel="nofollow"><?echo GetMessage("CATALOG_ADD")?></a>
    							</noindex>
    						<?endif;?>
    					<?elseif(count($arResult["PRICES"]) > 0):?>
    						...

    Пунктуация сохранена. Шаблон компонента битрикса. Шедевр лапшекода.

    neurocore, 03 Октября 2017

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

    +3

    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
    Линейное программирование, очевидно, специфицирует детерминант, откуда следует
    доказываемое равенство. Поэтому доказательство притягивает интеграл от функции
    комплексной переменной, таким образом сбылась мечта идиота — утверждение полностью
    доказано. В общем, умножение двух векторов (скалярное) непредсказуемо. Теорема
    Гаусса — Остроградского, как следует из вышесказанного, стремительно программирует
    математический анализ. Поле направлений, исключая очевидный случай, ускоряет
    интеграл по бесконечной области.
    
    Начало координат, очевидно, синхронизирует невероятный интеграл Гамильтона.
    Сравнивая две формулы, приходим к следующему заключению: умножение двух
    векторов (векторное) тривиально. Подынтегральное выражение, конечно, недоказуемо.
    Критерий сходимости Коши осмысленно упорядочивает равновероятный разрыв функции.
    
    Дело в том, что минимум неоднозначен. Бином Ньютона, общеизвестно, решительно
    притягивает линейно зависимый лист Мёбиуса. Не факт, что минимум проецирует линейно
    зависимый тройной интеграл. Учитывая, что (sin x)’ = cos x, интеграл от функции
    комплексной переменной последовательно допускает критерий сходимости Коши.

    Очень качественные математические вореции. Что удивительно, антивореционный механизм Гугла их не распознал — этот замечательный образец попался мне во время спонтанного гуглинга на около-математическую тему.
    via линaл ру (мутный сайт, стоит какой-то мутный редирект, без презерватива не входить).

    gost, 02 Октября 2017

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

    0

    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
    if($("#sel1").find("option:selected").val() != '0' && $("#sel2").find("option:selected").val() != '0'){
    if($("#sel1").find("option:selected").val()==1 && $("#sel2").find("option:selected").val()==1){
    window.location.href = "http://www.xiaoyi.com/dash/firmware/download/images/CABAA/FWCARC10.bin";
    }else if($("#sel1").find("option:selected").val()==1 && $("#sel2").find("option:selected").val()==2){
    window.location.href = "http://www.xiaoyi.com/dash/firmware/download/images/CABAA/firmware.bin";
    }else if($("#sel1").find("option:selected").val()==2 && $("#sel2").find("option:selected").val()==1){
    window.location.href = "http://www.xiaoyi.com/dash/firmware/download/images/CA21L_CA21W/FWCARC10.bin";
    }else if($("#sel1").find("option:selected").val()==2 && $("#sel2").find("option:selected").val()==2){
    window.location.href = "http://www.xiaoyi.com/dash/firmware/download/images/CA21L_CA21W/firmware.bin";
    }else if($("#sel1").find("option:selected").val()==3 && $("#sel2").find("option:selected").val()==2){
    window.location.href = "http://www.xiaoyi.com/dash/firmware/download/images/CABAC/firmware.bin";
    }else if($("#sel1").find("option:selected").val()==3 && $("#sel2").find("option:selected").val()==1){
    window.location.href = "http://www.xiaoyi.com/dash/firmware/download/images/CABAC/FWCARC10.bin";
    }

    Вот такая дичь случайно обнаружена на официальном сайте xiaoyi

    vGamBIT, 02 Октября 2017

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

    +4

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    SFINAE — это просто
    
    template<typename T> struct has_foo{
    private:  // Спрячем от пользователя детали реализации.
        static int detect(...);  // Статическую функцию и вызывать проще.
        template<typename U> static decltype(std::declval<U>().foo(42)) detect(const U&);
    public:
        static constexpr bool value = std::is_same<void, decltype(detect(std::declval<T>()))>::value;  // Вот видите, готово.
    };

    Программирование на "Modern C++" всё больше и больше становится похожим на отчаянную попытку выебать козла плазменным телевизором.
    via h/205772

    gost, 30 Сентября 2017

    Комментарии (43)
  10. C++ / Говнокод #23375

    +4

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    std::vector<int> vec = { 1, 2, 3, 4 };
    for (auto i = vec.size() - 1; i >= 0; i--) {
        cout << i << ": " << vec[i] << endl;
    }
    cout << endl;

    Выстрел в ногу, заботливо прикрытый фиговым листочком «auto».

    gost, 30 Сентября 2017

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