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

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

    −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
    module Bert {
      export class Decoder {
        private b: ArrayBuffer;
        private d: DataView;
        private i: number = 0;
        result: any;
        constructor(packet: ArrayBuffer) {
          this.b = packet;
          this.d = new DataView(packet);
          if (131 == this.d.getUint8(this.i++)) {
            this.result = this.decode();
          } else {
            throw 'Not BERT';
          }
        }
        decode() {
          var tag = this.d.getUint8(this.i++);
          var r: any;
          switch (tag) {
            case 100: r = this.decodeAtom(); break; // latin1 atom
            case 107: r = this.decodeString(); break; // utf8 string
            case 109: r = this.decodeBinary(); break; // utf8 binary string
            case 115: r = this.decodeSmallAtom(); break; // latin1 atom
            case 118: r = this.decodeAtom(); break; // utf8 atom
            case 119: r = this.decodeSmallAtom(); break; // utf8 atom
          }
          return r;
        }
        decodeAtom() {
          var length = this.d.getUint16(this.i);
          this.i += 2;
          var dec = new Utf8.Decoder(this.b.slice(this.i, this.i + length));
          this.i += length;
          return dec.result;
        }
        decodeSmallAtom() {
          var length = this.d.getUint8(this.i++);
          var dec = new Utf8.Decoder(this.b.slice(this.i, this.i + length));
          this.i += length;
          return dec.result;
        }
        decodeString() {
          var length = this.d.getUint16(this.i);
          this.i += 2;
          var dec = new Utf8.Decoder(this.b.slice(this.i, this.i + length));
          this.i += length;
          return dec.result;
        }
        decodeBinary() {
          var length = this.d.getUint32(this.i);
          this.i += 4;
          var dec = new Utf8.Decoder(this.b.slice(this.i, this.i + length));
          this.i += length;
          return dec.result;
        }
        ...
      }
    }

    Перед тем, как избавлюсь от повторяющегося кода в нижней части
    (typescript)

    kgm-rj, 04 Марта 2016

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

    +4

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    // Итальянский код
    
    if (...) {
       ...
    } else {
       ...
    } elsinio {
       ...
    }

    3_dar, 29 Февраля 2016

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

    −97

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    ПроцентОтОплаты = 0;
    		
    Если ЗначениеЗаполнено(Процент) Тогда			
    	ПроцентОтОплаты = Окр((ВыборкаПоГруппам.КОплате * 100 / (100 - Процент )) - ВыборкаПоГруппам.КОплате, 2);   			
    КонецЕсли; 
    ...
    мСтруктураДанных.Вставить("ИтогоКОплатеСУчетомПредоплаты",    ВыборкаПоГруппам.КОплате + ПроцентОтОплаты);

    Всё та же конфигурация...
    Если на форме выставили 10% предоплаты на 100р услуг, то некий сбор в пользу бедных будет 1,11р., а к оплате жильцу 111,11р.
    Если на форме выставили 15% предоплаты на 100р услуг, то некий сбор в пользу бедных будет 2,64р., а к оплате жильцу 117,64р.
    Если на форме выставили 99% предоплаты на 100р услуг, то некий сбор в пользу бедных будет 9900р., а к оплате жильцу 10000р.
    Если на форме выставили 100% предоплаты на 100р услуг, то будет крах босякам...

    Великий и могучий русский язык, но язык 1С его переплюнул тысячекратно... (

    ivan_0110, 05 Февраля 2016

    Комментарии (5)
  5. 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)
  6. 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)
  7. 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)
  8. 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)
  9. 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)
  10. 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)
  11. Куча / Говнокод #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)