1. Куча / Говнокод #18047

    +141

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    Расскажу одну говно-историю. Про то как разработчики php, заботятся о финансовом состоянии программистов на этом самом php.
    Есть некая фирма которая купила, информационный продукт у другой и все это работала несколько месяцев на серваке предыдущего владельца.  
    И вот неделю назад бывший владелец сказал съезжайте мне сервер нужен.  Новые владельцы вернее их админ благополучно все перетащил на другой сервер, 
    все вроде запустилось.  Но, что все стало работать не правильно и местами даже перестало.  Админ ебся с этим продуктом до вчерашнего дня, но без результата.  
    В общем  звонит мне такой вечером "Вася выручай не заводится, тебе за работу 50к рублей".   Я аж проснулся, этож блядь целая выплата по ипотеке.   
    В общем стал разбираться, проект в кодировке win 1251. Это меня сразу насторожило. Путем не долгой отладки я увидел, что htmlspecialchars при обработке 
    кириллицы возвращает пустоту.  Загуглив я узнал,  что  php от версии 5.4. по дефолту в htmlspecialchars стал использовать UTF-8, что и убило этот проект.  
    
    Я быстро написал функцию htmlspecialchars_a в которой по дефолту кодировка win-1251,  автозаменой прошелся по проекту. Всё завелось.  
    
    Отдельное спасибо разрабам php. Пусть в следующей версии заменят true/false на  True/False.  Ну или + на -.

    Vasiliy, 23 Апреля 2015

    Комментарии (169)
  2. Си / Говнокод #18046

    +140

    1. 1
    2. 2
    3. 3
    4. 4
    void GetPublicKey(char *destination, int len)
    {
    	GetPrivateKey(destination, len);
    }

    pmiller, 23 Апреля 2015

    Комментарии (1)
  3. Куча / Говнокод #18045

    −306

    1. 1
    http://stackoverflow.com/questions/1995113/strangest-language-feature

    Может, кто-то еще не видел. Пишите, что вам понравилось.

    3_14dar, 23 Апреля 2015

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

    +142

    1. 1
    2. 2
    <?php
    require_once dirname(dirname(dirname(dirname(dirname(__FILE__))))) . '/lib/cache/MCache.php';

    Без комментариев =)

    newx, 22 Апреля 2015

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

    +142

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    try {
    	connection.executeQuery("select to_date('" + this.getMonth() + "', 'yyyyMM') from dual", null);
    } catch (Exception e) {
    	logger.error(e.getMessage(), e);
    	Error = true;
    	fault.addError(8, 100);
    	return;
    }

    Лучший способ по проверке корректности даты

    this.getMonth() - возвращает дату из пришедшего запроса

    mrFoxs, 22 Апреля 2015

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

    +943

    1. 1
    таблица.ячейки.Where(ячейка => ячейка.выбрана).ToList().ForEach(ячейчка => ячейчка.ОчиститьЗначение());

    Похоже, у автора сама цель усложнить понимание кода и использовать LINQ. Я бы написал так:
    foreach (var ячейка in таблица)
    if (ячейка.выбрана)
    ячейчка.ОчиститьЗначение();

    Dimarius, 22 Апреля 2015

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

    +144

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    //Один протокол хранится в базе в виде трех записей для каждого из типов экзаменов
    //Чтобы 3 записи превратить в одну подменяем ключ из массива запроса ($result) на id заявки ($request_id)
    //Записи с одинаковыми id перезаписываются, а запись с датой и счетом попадают в нужную колонку
    foreach($this->type as $type)
    {
              $csv_array[$request_id]['Дата начала, '.$type] = $csv_array[$request_id]['Дата начала, '.$type];
              $csv_array[$request_id]['Решение, '.$type] = $csv_array[$request_id]['Решение, '.$type];
              $csv_array[$request_id]['Счет, '.$type] = $csv_array[$request_id]['Счет, '.$type];
    }

    магия

    d1ma, 22 Апреля 2015

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

    −156

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    Функция ПолучитьКоличествоДокументов(ИмяДокумента) Экспорт
    	
    	Запрос = Новый Запрос("Выбрать Документ." + СокрЛП(ИмяДокумента) + ".Ссылка");
    	
    	Выборка = Запрос.Выполнить().Выбрать();
    	
    	Возврат Выборка.Количество();
        	
    КонецФункции

    stungnthumz, 22 Апреля 2015

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

    +144

    1. 1
    [color=green][s][u][b][size=20]ДАВАЙТЕ ФЛУДИТЬ И ТРОЛЛИТЬ[/size][/color][/b][/u][/s]

    >>ДАВАЙТЕ ФЛУДИТЬ И ТРОЛЛИТЬ

    И правда, а давайте?..

    Stertor, 22 Апреля 2015

    Комментарии (34)
  10. 1C / Говнокод #18038

    −158

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    Процедура ПриОткрытии()
        Если РольДоступна("ЗапретНаИспользованиеОбработкиПоискИЗаменаДублирующихсяЭлементов") Тогда
            ЭтаФорма.Закрыть();
        КонецЕсли;
    КонецПроцедуры

    Забрал у пользователя права на использование поиска и замены дублирующихся элементов.
    Зато быстро...

    kaorin, 22 Апреля 2015

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