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

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

    −1

    1. 1
    2. 2
    3. 3
    4. 4
    var ta = $( '#Modal form textarea');
         for(var i = 0, len = ta.length; i < len; i++) {
             $(ta[i]).html('');$(ta[i]).val('');$(ta[i]).text('');
         }

    deep, 04 Февраля 2016

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

    −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
    public function IndexAction() {
        $this->_view->caption = 'Справочник сотрудников клиента';
    
        $this->_view->description = '<p>Справочник сотрудников клиента нужен, чтобы сократить время на оформление бронирований проживаний, авиа и ж/д билетов, 
    				трасферов. Поэтому информация в этом справочнике должна быть всегда правильной и актуальной. Чтобы добиться этого, справочник должен быть удобным и информативным.
    				Информативность должна достигаться за счёт удобного поиска и отображения данных. Удобство должно быть в мелочах: календарь выбора дат, маска воода паспорта, использование json.</p>';
    
        $this->_view->requirements = [
            'Справочник должен содержать следующие поля: фамилия, имя, отчество, должность, адрес почты, мобильный телефон, пол, дату рождения, паспорт.',
            'Поля фамилия, имя, отчество, адрес почты, мобильный телефон должны быть обязательными и проверяться на валидность.',
            'Поля базы данных должны иметь комментарии.',
            'Код должен содержать комментарии.',
        ];
    
        $this->_view->tasks = [
            '<b>Сделать таблицу в базе</b> (основное задание).',
            '<b>Сделать контроллер для управления справочником</b> (основное задание).',
            '<b>Сделать добавление / изменение / удаление записей</b> (основное задание).',
            '<i>Сделать историю изменений</i> (дополнительное задание).',
            '<i>Использовать json, маски ввода, javascript-календари</i> (дополнительное задание).'
        ];
    
        $this->_view->rating = [
            'Читабельность кода.',
            'Структура базы данных.',
            'Работоспособность кода.',
            'Отсутствие потенциально опасного кода.',
            'Работа в рамках ООП.',
        ];
    
        $this->_view->hints = [
            'Для работы с базой данных используется <a href="http://localhost/pma/" target="pma">phpMyAdmin</a>.',
            'Справочная информация по <a href="http://php.net/" target="php">PHP</a>, <a href="http://dev.mysql.com/doc/refman/5.5/en/" target="mysql">MySQL</a>.',
            'Очень желательно подключить и использовать <a href="http://jquery.com/" target="_blank">jQuery</a>.',
        ];
      }

    > "Необходимо сделать справочник сотрудников, используя предоставленный код."

    Мне на почту пришло тестовое задание от конторы про которую до этого письма я и не знал. Контора не маленькая, несколько отделов разработки, но 2016 год бля, пишем свой фреймворк с нуля без SMS! Только лучшие мировые практики из моего 2 недельного опыта разработки!

    Или это хитрый тест на скилл умение разбираться в самописных фреймворках?

    elitist_1van0ff, 29 Января 2016

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

    −95

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

    Встретил в сильно нетиповой рознице. Такое чувство, будто реквизит "Ответственный" насиловали или автор строк при написании их же просматривал порно с элементами садо-мазо.

    keyu, 18 Декабря 2015

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

    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
    public function callCost($fromCity, $fromStreet, $fromHouse, $fromHousing, $fromBuilding, $fromPorch, $fromLat, $fromLon, $toCity, $toStreet, $toHouse, $toHousing, $toBuilding, $toPorch, $toLat, $toLon, $clientName, $phone, $priorTime, $customCarId, $customCar, $carType, $carGroupId, $tariffGroupId, $comment, $additional = '')
        {
            if ($json = $this->reqCache->getValue($fromLat . $fromLon . $toLat . $toLon . $phone . $priorTime . $tariffGroupId . $comment . $additional)) {
                $data = json_decode($json);
                return $data;
            } else {
    			$tariffGroupId = $this->findTariffOnCarType($carType);
    			$additional = explode(';', $additional);
    			$route = new TaxiRouteAnalyzer($this->dbHost, $this->database, $this->dbLogin, $this->dbPass);
    			$this->writeLog($tariffGroupId);
    			$data = $route->analyzeRoute(1, $fromCity, $fromStreet, $fromHouse, $fromHousing, $fromLat, $fromLon, $toCity, $toStreet, $toHouse, $toHousing, $toLat, $toLon, $additional, $tariffGroupId, $this->isDay(), 1);
                $res = json_encode($data);
                $this->reqCache->setValue($fromLat . $fromLon . $toLat . $toLon . $phone . $priorTime . $tariffGroupId . $comment . $additional, $res, $this->cacheTime);
    			return $data; 
            }
        }

    человеку доверили сделать кэширование данных...

    akanit, 14 Декабря 2015

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

    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
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    if (/Version\/5[^S]+Safari/.test(navigator.userAgent)) {
                    // https://twitter.com/sonnypiers/status/187513545397776384
                    var xhr = new XMLHttpRequest();
                    xhr.open('GET', user_photo, true);
    
                    xhr.responseType = 'arraybuffer';
    
                    xhr.onload = function(e) {
                        if (this.status == 200) {
                            var uInt8Array = new Uint8Array(this.response);
                            var i = uInt8Array.length;
                            var binaryString = new Array(i);
                            while (i--) {
                                binaryString[i] = String.fromCharCode(uInt8Array[i]);
                            }
                            var data = binaryString.join('');
    
                            var base64 = window.btoa(data);
    
                            var image = new Image();
                            image.onload = function() {
                                ...
                            };
                            image.src = 'data:image/jpeg;base64,' + base64;
                        }
                    };
    
                    xhr.send();
                    return;
                }
    
                var image = new Image();
                image.onload = function() {
                    ...
                };
                image.crossOrigin = 'anonymous';
                image.src = user_photo;

    потому что старое сафари не умеет image.crossOrigin

    makc3d, 07 Декабря 2015

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

    +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
    $RECORDS = array();
    $qRecords = ' SELECT `id`, `original_name`, `urn_name` FROM `ac_brands` ORDER BY `original_name` ASC ';
    $rqRecords = mysql_query($qRecords, $mysql) or die(mysql_error());
    
    // общее количество объявлений в БД
    $totalAmt = 0;
    
    while($RECORD = mysql_fetch_assoc($rqRecords))
    {
    	// получаем количество объявлений в БД для данного бренда
    	$qAmtAds = ' SELECT `count_ads` FROM `ac_brands` WHERE `id` = "'.intval($RECORD['id']).'"';
    	$rqAmtAds = mysql_query($qAmtAds, $mysql) or die(mysql_error());
    	
    	$RECORD['amt_ads'] = mysql_fetch_object($rqAmtAds)->{"count_ads"};
    	$totalAmt += $RECORD['amt_ads'];
    	
    	$RECORDS[] = $RECORD;
    }

    Что ОН, б**ть, делает? =)
    Походу чувак не знает про COUNT() и GROUP BY...

    Lander, 03 Декабря 2015

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    <filter-mapping>
            <filter-name>characterEncodingFilter</filter-name>
            <url-pattern>/*</url-pattern>
            <url-pattern>/*/*</url-pattern>
            <url-pattern>/*/*/*</url-pattern>
            <url-pattern>/**/*</url-pattern>
            <url-pattern>*.xml</url-pattern>
            <!-- url-pattern>doc/*</url-pattern -->
        </filter-mapping>

    Lure Of Chaos, 01 Декабря 2015

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    <?php if (!defined('ALTRUISM')): ?>
                                        <div style="display: inline-block; margin-left: 60px;height:42px;vertical-align: middle;">Количество:</div>
                                        <div class="num-increment" style="display: inline-block">
                                            <input class="cnt" type="text" value="1">
                                        </div>
                                        <?php echo Helper_Markup::add_to_basket_button($item, (!empty($user->id))) ?>
                                    <?php endif ?>

    Stefan_Hitskov, 30 Ноября 2015

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

    −37

    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
    ФормаВыбора = Справочники.СпецификацииНоменклатуры.ПолучитьФормуВыбораГруппы();
    	Родитель = ФормаВыбора.ОткрытьМодально();
    
    	Запрос = Новый Запрос;
    	Запрос.УстановитьПараметр("Родитель",Сред(Справочники.СпецификацииНоменклатуры.НайтиПоНаименованию(Родитель),1,50));
    	Запрос.УстановитьПараметр("Материалы",Справочники.Номенклатура.НайтиПоНаименованию("Материалы"));
    	Запрос.УстановитьПараметр("Активная",Истина);
    	Запрос.УстановитьПараметр("КодВерсии","00001");
    	Запрос.Текст = "ВЫБРАТЬ
    	|	СпецификацииНоменклатурыИсходныеКомплектующие.Количество / СпецификацииНоменклатурыВыходныеИзделия.Количество * 1000 КАК Количество,
    	|	СпецификацииНоменклатурыИсходныеКомплектующие.Номенклатура.ВидНоменклатуры.Ссылка КАК ВидНоменклатуры,
    	|	СпецификацииНоменклатурыИсходныеКомплектующие.Номенклатура.Артикул КАК Обозначение,
    	|	ВЫБОР
    	|		КОГДА (НЕ ПОДСТРОКА(СпецификацииНоменклатурыИсходныеКомплектующие.Номенклатура.НаименованиеВКД, 1, 10) = ""          "")
    	|			ТОГДА СпецификацииНоменклатурыИсходныеКомплектующие.Номенклатура.НаименованиеВКД
    	|		ИНАЧЕ СпецификацииНоменклатурыИсходныеКомплектующие.Номенклатура.Наименование
    	|	КОНЕЦ КАК Наименование,
    	|	СпецификацииНоменклатурыИсходныеКомплектующие.Номенклатура.Комментарий КАК Комментарий,
    	|	СпецификацииНоменклатурыВыходныеИзделия.Номенклатура.Наименование КАК ВыходнаяНоменклатура1,
    	|	СпецификацииНоменклатурыВыходныеИзделия.Номенклатура.НаименованиеПолное КАК ВыходнаяНоменклатура,
    	|	СпецификацииНоменклатурыВыходныеИзделия.Номенклатура.Родитель.Родитель КАК Родитель,
    	|	СпецификацииНоменклатурыВыходныеИзделия.Номенклатура.Артикул КАК ВыходнаяНоменклатура1Артикул,
    	|	СпецификацииНоменклатурыИсходныеКомплектующие.Ссылка.Родитель КАК Родитель1,
    	|	СпецификацииНоменклатурыВыходныеИзделия.Ссылка.Родитель КАК Родитель2,
    	|	СпецификацииНоменклатурыИсходныеКомплектующие.Номенклатура.НаименованиеВКД КАК НаименованиеВКД,
    	|	СпецификацииНоменклатурыВыходныеИзделия.Количество КАК Количество1
    	|ИЗ
    	|	Справочник.СпецификацииНоменклатуры.ИсходныеКомплектующие КАК СпецификацииНоменклатурыИсходныеКомплектующие
    	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.СпецификацииНоменклатуры.ВыходныеИзделия КАК СпецификацииНоменклатурыВыходныеИзделия
    	|		ПО СпецификацииНоменклатурыИсходныеКомплектующие.Ссылка.Ссылка = СпецификацииНоменклатурыВыходныеИзделия.Ссылка.Ссылка
    	|ГДЕ
    	|	(СпецификацииНоменклатурыИсходныеКомплектующие.Номенклатура.Родитель.Ссылка = &Материалы
    	|			ИЛИ СпецификацииНоменклатурыИсходныеКомплектующие.Номенклатура.Родитель.Родитель.Ссылка = &Материалы
    	|			ИЛИ СпецификацииНоменклатурыИсходныеКомплектующие.Номенклатура.Родитель.Родитель.Родитель.Ссылка = &Материалы
    	|			ИЛИ СпецификацииНоменклатурыИсходныеКомплектующие.Номенклатура.Родитель.Родитель.Родитель.Родитель.Ссылка = &Материалы)
    	|	И ПОДСТРОКА(СпецификацииНоменклатурыИсходныеКомплектующие.Ссылка.Родитель.Наименование, 1, 50) = &Родитель
    	|	И ПОДСТРОКА(СпецификацииНоменклатурыВыходныеИзделия.Ссылка.Родитель.Наименование, 1, 50) = &Родитель
    	|	И СпецификацииНоменклатурыВыходныеИзделия.Ссылка.Активная = &Активная
    	|	И СпецификацииНоменклатурыИсходныеКомплектующие.Ссылка.КодВерсии = &КодВерсии";
    	
    	//Отладка для таблицы
    	//Результат1 = Запрос.Выполнить().Выгрузить();
    	//Результат1.ВыбратьСтроку();
    	//Возврат;
    	Результат = Запрос.Выполнить();
    	Возврат Результат;

    Судя по коду "разработчик" был не сильно много знаком с программированием в 1С.

    KDE, 26 Ноября 2015

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

    +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
    <div class="body">
     <span method="POST" rm=""> <input type="hidden" value="sendquestion" name="action">
    		<div>
    			 Задайте вопрос по интересующим Вас товарам и услугам. Оставьте, пожалуйста, контактную информацию, и наш менеджер свяжется с Вами. Мы работаем с 9:00 до 18:00.
    		</div>
     <br>
    		<div class="input-field">
     <input type="text" placeholder="Ваше Имя" maxlength="200" size="60" name="name" required="">
    		</div>
    		<div class="input-field">
     <input type="text" placeholder="Ваш email" maxlength="100" size="60" name="email" required="">
    		</div>
    		<div class="input-field user-phone rfield" placeholder="(__) ___-__-__">
     <input type="tel" name="phone-namber" class="user-phone rfield" placeholder="(__) ___-__-__">
    		</div>
     <textarea name="question" rows="5" placeholder="Ваш вопрос"></textarea> <br>
     <button class="btn_submit" type="button">
    		Отправить </button> </span>
    	</div>

    Дизайнер иногда "подверстывает"...

    Stefan_Hitskov, 25 Ноября 2015

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