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

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

    +159

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    var component_prop = {};
    // create property array
    for (var i = 0; i < object_data.properties.length; i++) {
        component_prop[object_data.properties[i].name] = object_data.properties[i].value;
    }
    // convert property arrays to JSON object for parameters on component create
    component_prop = JSON.parse(JSON.stringify(component_prop));

    может кто-то понимает этот танец?

    kissarat, 22 Октября 2014

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

    +157

    1. 1
    2. 2
    if(strlen($refnumber)==1) $refnumber="00".$refnumber;
    if(strlen($refnumber)==2) $refnumber="0".$refnumber;

    saksmt, 17 Октября 2014

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

    −165

    1. 1
    our @hilight_critical_files = ( 'celebrities.txt', 'obscene.txt', 'lekarstva.txt' );

    Глобальная переменная, неверно написанное английское слово, захардкоженные значения, транслит, транслит вперемешку с английскими словами<s>, и вообще perl</s>.

    И всё это в одной короткой строке.

    kainwinterheart, 08 Октября 2014

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

    −102

    1. 1
    2. 2
    3. 3
    4. 4
    class GNUTranslations(NullTranslations):
        # Magic number of .mo files
        LE_MAGIC = 0x950412de
        BE_MAGIC = 0xde120495

    хуита, 07 Октября 2014

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

    −413

    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
    - (void)webViewDidFinishLoad:(UIWebView *)webView {
        [TMSpinner hide];
        if (self.registrationModel && !self.loggedIn && [[self.webView.request.URL absoluteString] length]) {
            [self autologinTheWebView];
        }
    }
    
    #pragma mark - Black magic
    
    - (void)autologinTheWebView {
        [self.webView stringByEvaluatingJavaScriptFromString:[self javascriptToInject]];
        [self.webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"autologin('%@', '%@');", self.registrationModel.email, self.registrationModel.password]];
        self.loggedIn = YES;
    }
    
    - (NSString *)javascriptToInject {
        return @"autologin = function(email, password) {"
               @"  var emailField = document.getElementById('user_email');"
               @"  var passwordField = document.getElementById('user_password');"
               @"  var submitButton = document.querySelector('input.btn.btn-default.btn-success');"
               @"  emailField.value = email;"
               @"  passwordField.value = password;"
               @"  submitButton.click();"
               @"};";
    }

    js в obj-c. кому то после меня это поддерживать :)

    Drenwtc, 02 Октября 2014

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

    +138

    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
    public List<string> AutoPublishProjectDepartmentNames { get; private set; }
            public string AutoPublishProjectDepartments
            {
                get { return _projectDepartments; }
                set
                {
                    _projectDepartments = value;
    
                    AutoPublishProjectDepartmentNames.Clear();
                    var departments = _projectDepartments.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
                    //Get EPT Names
                    foreach (var department in departments)
                    {
                        try
                        {
                            if (department.Length == 36 || department.Length == 38)
                            {
                                var departmentUid = new Guid(department);
                                AutoPublishProjectDepartmentNames.Add(SqlInstance.GetDepartmentName(departmentUid));
                                continue;
                            }
                        }
                        catch (FormatException)
                        {
                        }
    
                        //Not a guid
                        AutoPublishProjectDepartmentNames.Add(department);
                    }
                }
            }

    Очень хитрая пропертя, пока не засетишь одну пропертю - другая не будет работать. А еще она с гуидами работает. Ооочень хитрая. Юсфуль-туль.

    boades, 25 Сентября 2014

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

    +158

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    $q=  mysql_query("select * from BillingParam where Name like ('%  %')");
    
    while($r=mysql_fetch_object($q)){
        $name=str_replace("  ", " ", $r->Name);
        $que="update BillingParam set Name='".$name."' where ID='".$r->ID."'";
        echo $que."<br>";
    
    $qq=mysql_query($que)or die(mysql_error());

    Нужно больше, ещё больше запросов к базе!

    Khvorostin, 24 Сентября 2014

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

    +160

    1. 1
    2. 2
    3. 3
    this.isWait && result.push(campLinkCid);
    
    result.push(this.isWait ? camp.bid : campLinkCid);

    Нужно больше логики.

    kainwinterheart, 23 Сентября 2014

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

    +73

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    public static <T extends Comparable<T>> boolean isLessThan(T a, T b, double numericTolerance) {
        if (a == null) {
            return b != null;
        }
        boolean isLessThan = a.compareTo(b) < 0;
        if (!isLessThan && a instanceof Number && b instanceof Number) {
            isLessThan = ((Comparable) (((Number) a).doubleValue() - numericTolerance)).compareTo(((Number) b).doubleValue()) < 0;
        }
        return isLessThan;
    }

    Один из методов сравнения значений в пределах допустимой погрешности (последняя только для чисел).
    Вроде бы и проще никак, но чувство говна не покидает. Советы по упрощению приветствуются.

    Actine, 16 Сентября 2014

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

    −126

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

    Бывший программист из нашей конторы отбирает строки таблицы с номенклатурой, по которой отсутствуют записи в регистре сведений, используя при этом другие "удивительные приемы программирования"... Ушел на повышение в саму 1С)))

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

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