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

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

    −91

    1. 1
    2. 2
    // synthesize viewController
    @synthesize viewController;

    Никогда еще комментарии не были столь информативны.

    tirinox, 22 Ноября 2012

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

    −101

    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
    - (void) setSavedData:(NSMutableDictionary *) chordsSettings
    {
    	if ([chordsSettings count]) 
        {
    		currentVariationsIndex = [[chordsSettings valueForKey:@"currentVariationsIndex"] intValue];
            pickerComponent0Row = [[chordsSettings valueForKey:@"pickerComponent0Row"] intValue];
            pickerComponent1Row = [[chordsSettings valueForKey:@"pickerComponent1Row"] intValue];
            canPlayString1 = [[chordsSettings valueForKey:@"canPlayString1"] boolValue];
            canPlayString2 = [[chordsSettings valueForKey:@"canPlayString2"] boolValue];
            canPlayString3 = [[chordsSettings valueForKey:@"canPlayString3"] boolValue];
            canPlayString4 = [[chordsSettings valueForKey:@"canPlayString4"] boolValue];
            canPlayString5 = [[chordsSettings valueForKey:@"canPlayString5"] boolValue];
            canPlayString6 = [[chordsSettings valueForKey:@"canPlayString6"] boolValue];
            lockedString1 = [[chordsSettings valueForKey:@"lockedString1"] boolValue];
            lockedString2 = [[chordsSettings valueForKey:@"lockedString2"] boolValue];
            lockedString3 = [[chordsSettings valueForKey:@"lockedString3"] boolValue];
            lockedString4 = [[chordsSettings valueForKey:@"lockedString4"] boolValue];
            lockedString5 = [[chordsSettings valueForKey:@"lockedString5"] boolValue];
            lockedString6 = [[chordsSettings valueForKey:@"lockedString6"] boolValue];
            chordPartOne = [[chordsSettings valueForKey:@"chordPart1"] retain];
            chordPartTwo = [[chordsSettings valueForKey:@"chordPart2"] retain];
    		flag = [[chordsSettings objectForKey:@"notes"] boolValue];
    	}
        else
        {
        	canPlayString1 = canPlayString2 = canPlayString3 = canPlayString4 = canPlayString5 = canPlayString6 = YES;
        	lockedString1 = lockedString2 = lockedString3 = lockedString4 = lockedString5 = lockedString6 = NO;
        	pickerComponent0Row = pickerComponent1Row = 0;
        	currentVariationsIndex = 0;
    		chordPartOne = @"C";
    		chordPartTwo = @"";
    		flag = NO;
    	}
    	chordPartThree = @"";
    }

    Интересно, если б аффтару нужно было писать приложение не для 6-струнной гитары, а для 12-струнной гитары или даже для арфы, он бы и там упорно не использовал массивы?

    QuickNick, 21 Ноября 2012

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

    +112

    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
    switch (materialType.MaterialClass)
    {
        case 1:
            xtraTabControl1.SelectedTabPageIndex = 0;
            gridView1.Focus();
            eanSimpleButton.Enabled = true;
            break;
        case 2:
            xtraTabControl1.SelectedTabPageIndex = 1;
            gridView2.Focus();
            eanSimpleButton.Enabled = false;
            break;
        case 3:
            xtraTabControl1.SelectedTabPageIndex = 3;
            gridView4.Focus();
            eanSimpleButton.Enabled = false;
            break;
        default:
            xtraTabControl1.SelectedTabPageIndex = 2;
            gridView3.Focus();
            eanSimpleButton.Enabled = false;
            break;
    }

    Стандартный такой быдло-производственный код.

    В зависимости от магического числа в БД, в поле material_class, показывается один из четырёх гридов. При этом в реальной базе класса 3 вообще нет - это поле принимает значения 1, 2 и NULL.

    someone, 21 Ноября 2012

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

    −90

    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
    # -*- coding: utf-8 -*-
    
    i=raw_input('Input number')
    variants={1:lambda :'It`s even',
              2:lambda :'It`s odd',}
    def get_last_digit(i):
        str_digit=str(i)
        return int(str_digit[-1])
    def get_division_2_modulo(i):
        temp=float(i)/2
        str_temp=str(temp)
        str_temp=str_temp.rstrip('.0')
        
        lst_temp=str_temp.split('.')
        
        return len(lst_temp)
    print variants[get_division_2_modulo(get_last_digit(i))]()

    Задание: Напишите программу определения четности / нечетности числа, значение которого вводится с клавиатуры.
    В ответ автор получил такой вот код :)

    Scr1pt1k, 14 Ноября 2012

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

    +128

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    right_triangles = [ (a, b, c a b) | b <- [1..], a <- [1..b], isRight a b ]
    	where
    		rc a b = sqrt $ fromIntegral (a^2 + b^2)
    		c a b = round $ rc a b
    		isRight a b = (rc a b) == fromIntegral (c a b)

    Fai, 14 Ноября 2012

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

    +142

    1. 1
    require_once __DIR__ . '/composer' . '/autoload_real.php';

    Symfony 2

    prodigy, 07 Ноября 2012

    Комментарии (8)
  8. Java / Говнокод #12032

    +69

    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
    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append("\nAVPCODE: "+code+'<'+vendorId+'>');
        return sb.toString();
    }
    
    public String getCodeAsStringWithVendorIdAlways(){
        StringBuilder sb = new  StringBuilder();
    
        sb.append(code);
        sb.append('<');
        sb.append(vendorId);
        sb.append('>');
    
        return sb.toString();
    }
    
    public String getCodeAsStringWithVendorIdOnlyForRealVendorIds(){
        StringBuilder sb = new  StringBuilder();
    
        sb.append(code);
    
        if(vendorId > 0){
            sb.append('<');
            sb.append(vendorId);
            sb.append('>');
        }
    
        return sb.toString();
    }

    конвертим Diameter's AVP код/вендор ид в строку.

    "\n" как всегда порадовал.

    и само собой разумеется что только последний метод - с именем в 47 символов - работает именно так как все и ожидают и как всем нужно (соответствует синтаксису конфигов).

    Dummy00001, 30 Октября 2012

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

    +9

    1. 1
    http://ideone.com/vvkWO4

    Fai, 21 Октября 2012

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

    +42

    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
    <?php 
    if (isset($_GET['file'])) {
    	$dirname = 'download';
    	$file = (string) $_GET['file'];
    	$file = $dirname . DIRECTORY_SEPARATOR . trim($file);
    	if (is_file($file)) {
    		header('Content-Description: File Transfer');
    		header('Content-Type: application/octet-stream');
    		header('Content-Disposition: attachment; filename=' . basename($file));
    		header('Content-Transfer-Encoding: binary');
    		header('Expires: 0');
    		header('Cache-Control: must-revalidate');
    		header('Pragma: public');
    		header('Content-Length: ' . filesize($file));
    		ob_clean();
    		flush();
    		readfile($file);
    		exit();
    	}
    }

    вопрос:
    Нужно чтобы при клике по ссылке запускалось скачивание файла, но ссылка должна быть не прямая как site.ru/download/file1.rar
    - а вот такая: site.ru/download/1/

    ответ:
    создайте файл download.php и папку download для файлов.
    использовать так: localhost/download.php?file=01.jpg

    ahref, 20 Октября 2012

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

    −121

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

    Вот такая вот подписка при записи любых ссылок. 3 Если подряд? Логическое умножение - не, не слышал. Зато Записать() в подписке ПриЗаписи - слышал. Автор Хан Юрий Валентинович.

    ilya2184, 10 Октября 2012

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