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

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

    +71

    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
    private static final int IDX_OBJECT = 0;
    private static final String PARTY_ACCOUNT_BALANCE_QUERIES = "Select party.id from Party party WHERE party.TaxID='615100175';Select account.id from PaymentAccount account, Party party WHERE party.TaxID='615100175';Select balance.id from PaymentBalance balance WHERE balance.BalanceType='10000';";
    private static final int queryAmount = 3;
    public void createPaymentAccountUpdate() {
    	String[] QUERY = new String[queryAmount];
    	int startIndex = 0, endIndex=0;
    	IRecordset [] rs=null;
    
    	for (int i = 0; i < queryAmount; i++) {
    		endIndex = PARTY_ACCOUNT_BALANCE_QUERIES.indexOf(';', startIndex);
    		QUERY[i] = PARTY_ACCOUNT_BALANCE_QUERIES.substring(startIndex, endIndex);
    		startIndex = endIndex + 1;
    	} 
    	for (int i = 0; i < queryAmount; i++) {
    		rs[i] = s_mgr.newQuery().execute(QUERY[i].toString());
    	}
    	if (rs[0].moveNext()) {
    		IParty party = (IParty)rs[0].valueFromIndex(IDX_OBJECT);
    		if (rs[1].moveNext()) {
    			IPaymentAccount pa = (IPaymentAccount) rs[1].valueFromIndex(IDX_OBJECT);
    			pa.setParty(party);
    		}
    		if (rs[2].moveNext()) {
    			IPaymentBalance pb = (IPaymentBalance) rs[2].valueFromIndex(IDX_OBJECT);
    			pa.setBalance(pb);
    		}            
    		pa.setComment("Test account update created"); 
    		pa.Save();
    	}
    }

    Лучше уж никаких тестов, чем такие

    askell, 14 Февраля 2013

    Комментарии (11)
  3. C++ / Говнокод #12585

    +9

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    y=fopen(lex,"w+");
    fclose(y);
    FILE *r=fopen(result,"w+");
    fclose(r);
    FILE *k=fopen("pryklad.obj","w+");
    fclose(k);

    Abbath, 13 Февраля 2013

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

    +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
    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
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    #Creates an array with the frequencies from C2 to C5, 37 notes in all
    for j from 1 to 37
    	if j = 1 
    	notes [j] = 65.41 # лёгкие пути не нужны
    	endif
    	if j = 2
    	notes [j] = 69.30
    	endif
    # ...дальше понятно...
    endfor
    
    # <...>
    
    #Determining whether or not the scale contains C
    #This determines how many notes of the 37 possible must be included.
    noCList [1] = 3 # опа, а вот тут уже научились числовые индексы использовать
    noCList [2] = 5
    noCList [3] = 7
    noCList [4] = 10
    noCList [5] = 12
    noC = 0
    for n from 1 to 5
    	if 'starter' = noCList['n']
    		noC = 1
    	endif
    endfor
    #If there is a C...
    if noC = 0
    #The for loop mathematically selects the scale notes to use
    for m from 1 to 22
    	if 'm' = 1
    		noteind = 'starter'
    	endif
    	if 'm' = 2
    		noteind = 'starter' + 2
    		if 'noteind' > 37
    			noteind = 'noteind' - 36
    		endif
    	endif
    # ...ага-ага...
    	scalenotes ['m'] = notes['noteind']
    endfor
    #If there is not a C...
    else
    for m from 1 to 21
    	if 'm' = 1
    		noteind = 'starter'
    	endif
    	if 'm' = 2
    		noteind = 'starter' + 2
    		if 'noteind' > 37
    			noteind = 'noteind' - 36
    		endif
    	endif
    # ...так точно...
    	scalenotes ['m'] = notes['noteind']
    endfor
    endif
    
    # <...>
    
    #Add new pitch information
    #For each point, we move the freq to the closest scale note
    for q from 1 to 'numPoints'
    	#The original freq of pitch
    	currentfreq = pitches['q']
    	#A starting threhold for difference between original and a musical note
    	diff = 50
    	#If there is C in the scale, making 22 possible notes to tune to...
    	if 'noC' = 0
    	#For loop finds the lowest difference between original pitch and a musical note
    	for c from 1 to 22
    		diff2 = abs('currentfreq' - scalenotes['c'])
    		if 'diff2' < 'diff'
    			diff = 'diff2'
    			noteindex = 'c'
    		endif
    	endfor
    	#Otherwise if there is not a C...
    	else
    	for c from 1 to 21
    		diff2 = abs('currentfreq' - scalenotes['c'])
    		if 'diff2' < 'diff'
    			diff = 'diff2'
    			noteindex = 'c'
    		endif
    	endfor
    	endif
    	#Add point at the original time with the new pitch
    	Add point... times['q'] scalenotes['noteindex']
    endfor

    http://schyzm.wordpress.com/2012/12/05/fun-with-praat-a-script-for-auto-tune/
    Скрипт питч-коррекции для речевого анализатора Praat на встроенном языке сценариев. Не знаю, это афтар так жжот или язык располагает к черезжопию, но что-то тут воняет однозначно.

    telnet, 17 Января 2013

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

    +136

    1. 1
    http://f.cl.ly/items/1B362r0E3T0z3E3v3A1f/Screen%20Shot%202013-01-10%20at%2011.01.45.png

    Это надо видеть.

    ArtFeel, 10 Января 2013

    Комментарии (11)
  6. PHP / Говнокод #12401

    +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
    //А теперь я научу вас как правильно определять тип картинки
    $type = '';
    		
    # JPEG:
    $src = @imagecreatefromjpeg("./js/ajax_drag_drop_upload/php/files/".$f);
    if ($src !== false)
    {
    	$type = 'jpg';
    }
    else {
    	# GIF:
    	$src = @imagecreatefromgif("./js/ajax_drag_drop_upload/php/files/".$f);
    	if ($src !== false)
    	{
    		$type = 'gif';
    	}
    	else {
    		# PNG:
    		$src = @imagecreatefrompng("./js/ajax_drag_drop_upload/php/files/".$f);
    		if ($src !== false)
    		{
    			$type = 'png';
    		}
    	}	
            // А что делать с BMP? Та ну нафиг, BMP - это миф...
    }
    // Вот и все. Теперь вы знаете с каким типом картинки работаете
    // Ну а здесь уже можете писать ваш говнокод

    Очень эпичный code snippet. Посмотрите как автор ловко владеет возможностями языка PHP. В закладки!

    SunnyMagadan, 10 Января 2013

    Комментарии (11)
  7. Java / Говнокод #12333

    +73

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    if (jsonValues.toString().contains("acctContext") == true) {
        try {
            objectRelMethod = impl.provisionDevice(
    	jsonValues.getString("acctContext"),
    	jsonValues.getString("persoIdentityRequest"));
         }catch(JSONException e){
    	objectRelMethod = impl.provisionDevice(null, null);
         }
    }

    и туда же... и это называется гордым словом "мидл"...

    myzone, 21 Декабря 2012

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

    +70

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    if (!formules.isEmpty()) {
        for (String tag : formules) {
        .....
        // и вот здесь шедевр:
        }
        // а здесь ничего нет
    }

    Не гоняем цикл вхолостую

    alopen, 21 Декабря 2012

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

    +58

    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
    private function  _getOrderBy($orderField)
        {
            switch ($orderField)
            {
                case 'ProductID':
                    return 'ProductID';
                case 'ProductName':
                    return 'ProductName';
                case 'Per':
                    return 'Per';
                case 'Start':
                    return 'Start';
                case 'Qty':
                    return 'Qty';
                case 'OrderDetailsID':
                    return 'OrderDetailsID';
                case 'FIOUr':
                    return 'FIOUr';
                case 'AddressUr':
                    return 'AddressUr';
                case 'ZipCodeUr':
                    return 'ZipCodeUr';
                case 'OrderRealSupID':
                    return 'OrderRealSupID';
                case 'PayDate':
                    return 'PayDate';
                case 'SumPay':
                    return 'SumPay';
                case 'NumPlPor':
                    return 'NumPlPor';
                default:
                    return 'OrderID';
            }
        }
    
    //Вот еще чуть-чуть:
    
    private function  _getOrderType($orderType)
        {
            switch ($orderType)
            {
                case 'asc':
                    return 'asc';
                default:
                    return 'desc';
            }
        }

    Ну в общем, привожу пару этюдов из "коричневой" симфонии, которые используются для формирования SQL запроса. Код - прост, но говнист.

    SunnyMagadan, 17 Декабря 2012

    Комментарии (11)
  10. Python / Говнокод #12273

    −90

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    def getEML(self):
            for i in self.__mandatory_headers:
                if i not in self.__headers:
                    return None
            return '{}\r\n\r\n{}'.format('\r\n'.join(['{}: {}'.format(k, v) for k, v in self.__headers.iteritems()]), self.__body)

    Наверное, надо подумать, как переписать в виде лямбды для пущего эффекта

    Miketsukami, 12 Декабря 2012

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

    −119

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    ВЫБРАТЬ
    	ЕСТЬNULL(СрокПолезногоИспользования, 0) КАК СрокПолезногоИспользования
    ИЗ
    	РегистрСведений.РасчетАмортизацииОС.СрезПоследних
    ГДЕ
    	ОС = &ОсновноеСредство

    Типовая конфигурация. Там такой запрос используют в печатной форме Основных средств... Думает по 10-15 минут
    2 глупых ошибки:
    1. Проверка на NULL, в данном случае его быть не может (хотя это особо ни на что не влияет)
    2. Условие по законам 1С должно применяться в РегистрСведений.РасчетАмортизацииОС.Срез Последних(,ОС = &ОсновноеСредство), иначе сильно падает скорость выполнения.

    ok0504, 29 Ноября 2012

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