1. Комментарий к говнокоду #10305

    • >Программист Java

      Что это вообще за хуйня "программист java"? Аналог водителя запорожца, повара борща, писателя рассказа? Но с другой стороны логика в этом присутствует: жабапидор далеко не программист, даже не человек и сегодня ему предстоит....
      Ответить
    Показать код ▼

    Куча / Говнокод #10305

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    Вакансия: Программист Java
    Требования:
        ....
        знание компьютерных программ: Java, pl/sql, Eclipse, Oracle Repotrs приветствуется;
        ....

    Не совсем то, но не мог пройти мимо.

    Запостил: -EZ-, 17 Мая 2012

    Все комментарии (3)
  2. Комментарий к говнокоду #10314

    • - Блин че-то у меня интерфейс не сериализуется.
      - Попробуй еще раз *trollface.png*
      - О, спасибо, заработало!
      Ответить
    Показать код ▼

    Java / Говнокод #10314

    1. 1
    2. 2
    3. 3
       public static String serialize3(IModellingWorkerSetup r) {
            return serialize(serialize(serialize(r)));
        }

    как вы понимаете, есть и обратное преобразование

    Запостил: ykhrustalev, 17 Мая 2012

    Все комментарии (4)
  3. Комментарий к говнокоду #10227

    Показать код ▼

    PHP / Говнокод #10227

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    $path  = file_directory_path();
      $dir = opendir($path);
      /*seacrh file shops.dtd.zip*/
      while ($file_name = readdir($dir)) {
        /*if found export file of current user*/
        if ($file_name == 'market_new.xml') {
          /*create array - date of last change current file => create date of current file*/
          $last_export_date = date('d-m-Y H:i', filectime($path . '/' .$file_name));
        }
      }
      /*close catalog*/
      closedir ($dir);

    превед братья украинци.

    Запостил: brainstorm, 09 Мая 2012

    Все комментарии (3)
  4. Комментарий к говнокоду #10306

    Показать код ▼

    C++ / Говнокод #10306

    1. 1
    if(0){}else for (... тут всякий код...) и тут всякий код

    Из реализации foreach в Qt. Не ГК. Кто первый скажет почему не ГК получит пирожок с полочки.

    Запостил: bormand, 17 Мая 2012

    Все комментарии (6)
  5. Комментарий к говнокоду #10267

    • а может !empty($r[0]), не ?

      хотя если $r[0] это не только массив, а объект реализующий Countable, то стоит подумать..
      Ответить
    Показать код ▼

    PHP / Говнокод #10267

    1. 1
    2. 2
    $res= (isset($r[0]) and count($r[0]) > 0) ? true : false;
    return $res;

    Классика

    Запостил: Мартин, 14 Мая 2012

    Все комментарии (4)
  6. Комментарий к говнокоду #10275

    • я хотел себе глаза выколоть когда увидел код от дипломированных специалистов
      string value;
      .....
      string newstring = (string)value.ToString();
      Ответить
    Показать код ▼

    C# / Говнокод #10275

    1. 1
    IsAutoUpdate ? 1.ToString() : 0.ToString()

    Практически классика.

    Запостил: DukeGonzo, 15 Мая 2012

    Все комментарии (12)
  7. Комментарий к говнокоду #10216

    • Странно, что мешало case использовать в if ( N = 10 ) then goto _10; и т.д...
      Ответить
    Показать код ▼

    Pascal / Говнокод #10216

    1. 001
    2. 002
    3. 003
    4. 004
    5. 005
    6. 006
    7. 007
    8. 008
    9. 009
    10. 010
    11. 011
    12. 012
    13. 013
    14. 014
    15. 015
    16. 016
    17. 017
    18. 018
    19. 019
    20. 020
    21. 021
    22. 022
    23. 023
    24. 024
    25. 025
    26. 026
    27. 027
    28. 028
    29. 029
    30. 030
    31. 031
    32. 032
    33. 033
    34. 034
    35. 035
    36. 036
    37. 037
    38. 038
    39. 039
    40. 040
    41. 041
    42. 042
    43. 043
    44. 044
    45. 045
    46. 046
    47. 047
    48. 048
    49. 049
    50. 050
    51. 051
    52. 052
    53. 053
    54. 054
    55. 055
    56. 056
    57. 057
    58. 058
    59. 059
    60. 060
    61. 061
    62. 062
    63. 063
    64. 064
    65. 065
    66. 066
    67. 067
    68. 068
    69. 069
    70. 070
    71. 071
    72. 072
    73. 073
    74. 074
    75. 075
    76. 076
    77. 077
    78. 078
    79. 079
    80. 080
    81. 081
    82. 082
    83. 083
    84. 084
    85. 085
    86. 086
    87. 087
    88. 088
    89. 089
    90. 090
    91. 091
    92. 092
    93. 093
    94. 094
    95. 095
    96. 096
    97. 097
    98. 098
    99. 099
    100. 100
    function UTZP10(IERR :Integer; N :Integer): String;
    var
    I :Integer;
    label
    _10,_101,_102,_103,_104,_14,_2,_141,_142,_1,_11,_112,_115,_113,_114,
    _116,_12,_16,_163,_17,_18,_34;
    begin
    { функция UTZP10 выводит сообщения в файл NAL_DIAG.res }
    Result := '';  { результат функции }
    if ( N = 10 ) 
     then goto _10;
    if ( N = 11 ) 
     then goto _11;
    if ( N = 111 ) 
     then goto _116;
    if ( N = 12 ) 
     then goto _12;
    if ( N = 14 ) 
     then goto _14;
    if ( N = 141 ) 
     then goto _1;
    if ( N = 16 ) 
     then goto _16;
    if ( N = 17 ) 
     then goto _17;
    if ( N = 18 ) 
     then goto _18;
    if ( N = 34 ) 
     then goto _34;
    _10:
    I  := IERR-64;
    Result := Result + Format('%s',
     [' БИБЛИOTEKA HИBЦ MГY,ПOДПPOГPAMMA ZP10R:ФATAЛЬHAЯ OШИБKA']) + #$0D#$0A; 
    case I of
     1: goto _101;
     2: goto _102;
     3: goto _103;
     4: goto _104;
    end;
    _101:
    Result := Result + Format('%s',
     [' N 1 - CTEПEHЬ ПOЛИHOMA MEHЬШE 1']) + #$0D#$0A; 
    UtDiag(Result,IERR);
    exit;
    _102:
    Result := Result + Format('%s',
     [' N 2 - OДИH ИЛИ HECKOЛЬKO KOЭФФИЦИEHTOB ПPИ CTAPШИX CTEПEHЯX PABHЫ 0.' + #$0D#$0A +
     '       COOTBETCTBYЮЩEE ЧИCЛO KOPHEЙ B KOHЦE BEKTOPA, COДEPЖAЩEГO KOPHИ' + #$0D#$0A +
     '       ПOЛИHOMA, ПOЛOЖEHЫ PABHЫMИ (3.4E38,0.0)']) + #$0D#$0A; 
    UtDiag(Result,IERR);
    exit;
    _103:
    Result := Result + Format('%s',
     [' N 3 - BЫЧИCЛEHO MEHЬШE KOPHEЙ, ЧEM CTEПEHЬ ПOЛИHOMA. COOTBETCTBYЮЩEE' + #$0D#$0A +
     '       ЧИCЛO KOPHEЙ B KOHЦE BEKTOPA, COДEPЖAЩEГO KOPHИ ПOЛИHOMA,' + #$0D#$0A +
     '       ПOЛOЖEHO PABHЫM  (3.4E38,0.0)']) + #$0D#$0A; 
    UtDiag(Result,IERR);
    exit;
    _104:
    Result := Result + Format('%s',
     [' N 4 -HA BЫЧИCЛEHИE OДHOГO ИЗ KOPHEЙ ПOTPEБOBAЛOCЬ ИTEPAЦИЙ БOЛЬШE,' + #$0D#$0A +
     '       ЧEM 200*CTEПEHЬ ПOЛИHOMA,OCTABШИECЯ KOPHИ ПOЛOЖEHЫ (3.4E38,0.0)']) + #$0D#$0A; 
    UtDiag(Result,IERR);
    exit;
    _14:
    I := IERR-64;
    Result := Result + Format('%s',
     [' БИБЛИOTEKA HИBЦ MГY,ПOДПPOГPAMMA ZP14R:ФATAЛЬHAЯ OШИБKA']) + #$0D#$0A; 
    _2:
    case I of
     1: goto _141;
     2: goto _142;
    end;
    _141:
    Result := Result + Format('%s',
     [' N 1 - CTAPШИE KOЭФФИЦИHTЫ PABHЫ 0, ПOЭTOMY ПEPBЫЙ KOPEHЬ' + #$0D#$0A +
     '       ПOЛAГAETCЯ PABHЫM (-3.4E38,0.0), A BTOPOЙ (3.4E38,0.0)']) + #$0D#$0A; 
    UtDiag(Result,IERR);
    exit;
    _142:
    Result := Result + Format('%s',
     [' N 2 - CTAPШИЙ KOЭФФИЦИEHT PABEH 0, ПOЭTOMY BTOPOЙ KOPEHЬ' + #$0D#$0A +
     '       ПOЛAГAETCЯ PABHЫM (3.4E38,0.0)']) + #$0D#$0A; 
    UtDiag(Result,IERR);
    exit;
    _1:
    Result := Result + Format('%s',
     [' БИБЛИOTEKA HИBЦ MГY,ПOДПPOГPAMMA ZP14C:ФATAЛЬHAЯ OШИБKA']) + #$0D#$0A; 
    I  := IERR - 64;
    goto _2;
    _11:
    I  := IERR - 64;
    Result := Result + Format('%s',
     [' БИБЛИOTEKA HИBЦ MГY,ПOДПPOГPAMMA ZP11R:ФATAЛЬHAЯ OШИБKA']) + #$0D#$0A; 
    _112:
    case I of
     1: goto _113;
     2: goto _114;
     3: goto _115;
    end;

    На сайте МГУ нашел :-(

    Запостил: lucidfoxGovno, 08 Мая 2012

    Все комментарии (17)
  8. Комментарий к говнокоду #8744

    • Это не доебка до слов, это суть.
      Объекты автоматически не разрушаются и не финализируются.
      Финализируются только те типы, которые перечислены в сабже, все они никакого отношения к классам не имеют, они не реализованы через классы, более того - далеко не все являются даже ссылочными.
      Ответить
    Показать код ▼

    Pascal / Говнокод #8744

    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
    procedure _FinalizeArray(p: Pointer; typeInfo: Pointer; elemCount: Cardinal);
    asm
            CMP     ECX, 0                        { no array -> nop }
            JE      @@zerolength
     
            PUSH    EAX
            PUSH    EBX
            PUSH    ESI
            PUSH    EDI
            MOV     EBX,EAX
            MOV     ESI,EDX
            MOV     EDI,ECX
     
            XOR     EDX,EDX
            MOV     AL,[ESI]
            MOV     DL,[ESI+1]
     
            CMP     AL,tkLString
            JE      @@LString
     
            CMP     AL,tkWString
            JE      @@WString
     
            CMP     AL,tkVariant
            JE      @@Variant
     
            CMP     AL,tkArray
            JE      @@Array
     
            CMP     AL,tkRecord
            JE      @@Record
     
            CMP     AL,tkInterface
            JE      @@Interface
     
            CMP     AL,tkDynArray
            JE      @@DynArray
     
            JMP     @@error
     
    @@LString:
            CMP     ECX,1
            MOV     EAX,EBX
            JG      @@LStringArray
            CALL    _LStrClr
            JMP     @@exit
    @@LStringArray:
            MOV     EDX,ECX
            CALL    _LStrArrayClr
            JMP     @@exit
     
    @@WString:
            CMP     ECX,1
            MOV     EAX,EBX
            JG      @@WStringArray
            CALL    _WStrClr
            JMP     @@exit
    @@WStringArray:
            MOV     EDX,ECX
            CALL    _WStrArrayClr
            JMP     @@exit
    @@Variant:
            MOV     EAX,EBX
            ADD     EBX,16
            CALL    _VarClr
            DEC     EDI
            JG      @@Variant
            JMP     @@exit
    @@Array:
            PUSH    EBP
            MOV     EBP,EDX
    @@ArrayLoop:
            MOV     EDX,[ESI+EBP+2+8]
            MOV     EAX,EBX
            ADD     EBX,[ESI+EBP+2]
            MOV     ECX,[ESI+EBP+2+4]
            MOV     EDX,[EDX]
            CALL    _FinalizeArray
            DEC     EDI
            JG      @@ArrayLoop
            POP     EBP
            JMP     @@exit
     
    @@Record:
            PUSH    EBP
            MOV     EBP,EDX
    @@RecordLoop:
            { inv: EDI = number of array elements to finalize }
     
            MOV     EAX,EBX
            ADD     EBX,[ESI+EBP+2]

    Это так в дельфах автофинализация строк, длиннострок, вариантов, массивов, записей, интерфейсов, динмассивов реализована.
    Вместо того, чтобы напрямую вызвать деструктор, там в рантайме (ПИЗДЕЦ, В РАНТАЙМЕ БЛЯТЬ!!!) проверяется тип поля, требующего финализацию и через три таких жопы наконец-то вызывается деструктор. И это, блять, я ещё создал свой TInterfacedObject, потому что иначе бы деструктор вызывался не через три жопы, а через четыре, и одна из них - системный вызов.
    Да, это при включённой оптимизации всё, если чё.

    Запостил: TarasB, 06 Декабря 2011

    Все комментарии (107)
  9. Комментарий к говнокоду #10294

    Показать код ▼

    Си / Говнокод #10294

    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
    typedef int32_t wl_fixed_t;
     
    //было:
    static inline double wl_fixed_to_double(wl_fixed_t f)
    {
      return (double) f / 256.0;
    }
     
    //стало:
    static inline double wl_fixed_to_double(wl_fixed_t f)
    {
      union {
        double d;
        int64_t i;
      } u;
     
      u.i = ((1023LL + 44LL) << 52) + (1LL << 51) + f;
     
      return u.d - (3LL << 43);
    }

    Заоптимизировали...

    Запостил: rat4, 16 Мая 2012

    Все комментарии (21)
  10. Комментарий к говнокоду #10288

    Показать код ▼

    C# / Говнокод #10288

    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
    private void changeTabItem(object parameter)
            {
                if (SelectedTabIndex == SelectedTabIndexOld) return;
                if (SelectedTabIndex != 0)
                {
                    if ([надо сохранить])
                    {
                        if ([попытка сохранить удалась]) SelectedTabIndexOld = SelectedTabIndex;
                        else SelectedTabIndex = 0;
                    }
                    else SelectedTabIndexOld = SelectedTabIndex;
     
                    if (SelectedTabIndex == 1)
                        [обновить древо]
     
                }
                else if (SelectedTabIndex != 1)
                {
                    if ([надо сохранить])
                    {
                        if ([попытка сохранить удалась]) SelectedTabIndexOld = SelectedTabIndex;
                        else SelectedTabIndex = 1;
                    }
                    else SelectedTabIndexOld = SelectedTabIndex;
                    if (SelectedTabIndex == 0)
                        [обновить древо]
                }
            }

    Раскопки продолжаются. Теперь Вашему вниманию предлагается "женское" переключение вкладок, работающее "от противного". В данном случае две вкладки, а теперь представим что надо добавить ещё пару. =)

    Запостил: DukeGonzo, 16 Мая 2012

    Все комментарии (21)
  11. Комментарий к говнокоду #10286

    • Ada слишком многословная, по сравнению с Хаскелом. Ленивых вычислений нет. Нет бесконечных списков. Вывода типов нет. Каррирования нет. Лямбд небось тоже нет? Чистота не поощряется. Даже сборки мусора в free версии нет. Так что не радуйся сильно.
      Ответить
    Показать код ▼

    C++ / Говнокод #10286

    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
    template <bool ValueToLock>
    	class TBoolLocker
    	{
    	private:
    		bool _lockedValue;
    	public:
    		TBoolLocker(void) : _lockedValue(!ValueToLock) {}
    		TBoolLocker(const TBoolLocker & Copy) : _lockedValue(Copy._lockedValue) {}
    		const TBoolLocker & operator=(const TBoolLocker & Copy)
    		{
    			_lockedValue = Copy._lockedValue;
    			return *this;
    		}
    		bool update(const bool NewValue)
    		{
    			if (_lockedValue != ValueToLock)
    				_lockedValue = NewValue;
    			return _lockedValue;
    		}
    	};

    Запостил: Говногость, 16 Мая 2012

    Все комментарии (11)
  12. Комментарий к говнокоду #10269

    • Его надо проверят отправкой на него письма с сылкой для обратного перехода.
      Ответить
    Показать код ▼

    JavaScript / Говнокод #10269

    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
    function validate() {
                var at = document.getElementById("email").value.indexOf("@");
                var age = document.getElementById("age").value;
                var fname = document.getElementById("fname").value;
                submitOK = "true";
     
                if (fname.length > 10) {
                    alert("Имя не должно содержать более 10 знаков");
                    submitOK = "false";
                }
                if (isNaN(age) || age < 1 || age > 100) {
                    alert("Возраст должен быть от 1 до 100");
                    submitOK = "false";
                }
                if (at == -1) {
                    alert("Неправильный e-mail");
                    submitOK = "false";
                }
                if (submitOK == "false") {
                    return false;
                }
            }

    Джордж Буль в гробу перевернулся.

    Запостил: Arigato, 15 Мая 2012

    Все комментарии (11)
  13. Комментарий к говнокоду #10311

    Показать код ▼

    PHP / Говнокод #10311

    1. 001
    2. 002
    3. 003
    4. 004
    5. 005
    6. 006
    7. 007
    8. 008
    9. 009
    10. 010
    11. 011
    12. 012
    13. 013
    14. 014
    15. 015
    16. 016
    17. 017
    18. 018
    19. 019
    20. 020
    21. 021
    22. 022
    23. 023
    24. 024
    25. 025
    26. 026
    27. 027
    28. 028
    29. 029
    30. 030
    31. 031
    32. 032
    33. 033
    34. 034
    35. 035
    36. 036
    37. 037
    38. 038
    39. 039
    40. 040
    41. 041
    42. 042
    43. 043
    44. 044
    45. 045
    46. 046
    47. 047
    48. 048
    49. 049
    50. 050
    51. 051
    52. 052
    53. 053
    54. 054
    55. 055
    56. 056
    57. 057
    58. 058
    59. 059
    60. 060
    61. 061
    62. 062
    63. 063
    64. 064
    65. 065
    66. 066
    67. 067
    68. 068
    69. 069
    70. 070
    71. 071
    72. 072
    73. 073
    74. 074
    75. 075
    76. 076
    77. 077
    78. 078
    79. 079
    80. 080
    81. 081
    82. 082
    83. 083
    84. 084
    85. 085
    86. 086
    87. 087
    88. 088
    89. 089
    90. 090
    91. 091
    92. 092
    93. 093
    94. 094
    95. 095
    96. 096
    97. 097
    98. 098
    99. 099
    100. 100
    foreach($combinations as $combination){
      $buffer = array();
      if(count($combination)){
    	if(is_numeric($combination[0])){
    		$a_cnt = count($words[$combination[0]]);
    		for($a=0;$a<$a_cnt;$a++){
    			if(is_numeric($combination[1])){
    			$b_cnt = count($words[$combination[1]]);
    			for($b=0;$b<$b_cnt;$b++){
    				if(is_numeric($combination[2])){
    				$c_cnt = count($words[$combination[2]]);
    				for($c=0;$c<$c_cnt;$c++){
    					if(is_numeric($combination[3])){
    					$d_cnt = count($words[$combination[3]]);
    					for($d=0;$d<$d_cnt;$d++){
    						if(is_numeric($combination[4])){
    						$e_cnt = count($words[$combination[4]]);
    						for($e=0;$e<$e_cnt;$e++){
    							if(is_numeric($combination[5])){
    							$f_cnt = count($words[$combination[5]]);
    							for($f=0;$f<$f_cnt;$f++){
    								if(is_numeric($combination[6])){
    								$g_cnt = count($words[$combination[6]]);
    								for($g=0;$g<$g_cnt;$g++){
    									if(is_numeric($combination[7])){
    									$h_cnt = count($words[$combination[7]]);
    									for($h=0;$h<$h_cnt;$h++){
    										if(is_numeric($combination[8])){
    										$i_cnt = count($words[$combination[8]]);
    										for($i=0;$i<$i_cnt;$i++){
    											if(is_numeric($combination[9])){
    											$j_cnt = count($words[$combination[9]]);
    											for($j=0;$j<$j_cnt;$j++){
    												$buffer[] = $words[$combination[0]][$a]
    														.' '.$words[$combination[1]][$b]
    														.' '.$words[$combination[2]][$c]
    														.' '.$words[$combination[3]][$d]
    														.' '.$words[$combination[4]][$e]
    														.' '.$words[$combination[5]][$f]
    														.' '.$words[$combination[6]][$g]
    														.' '.$words[$combination[7]][$h]
    														.' '.$words[$combination[8]][$i]
    														.' '.$words[$combination[9]][$j];
    											}}
    											else{
    												$buffer[] = $words[$combination[0]][$a]
    														.' '.$words[$combination[1]][$b]
    														.' '.$words[$combination[2]][$c]
    														.' '.$words[$combination[3]][$d]
    														.' '.$words[$combination[4]][$e]
    														.' '.$words[$combination[5]][$f]
    														.' '.$words[$combination[6]][$g]
    														.' '.$words[$combination[7]][$h]
    														.' '.$words[$combination[8]][$i];
    											}
    										}}
    										else{
    											$buffer[] = $words[$combination[0]][$a]
    													.' '.$words[$combination[1]][$b]
    													.' '.$words[$combination[2]][$c]
    													.' '.$words[$combination[3]][$d]
    													.' '.$words[$combination[4]][$e]
    													.' '.$words[$combination[5]][$f]
    													.' '.$words[$combination[6]][$g]
    													.' '.$words[$combination[7]][$h];
    										}
    									}}
    									else{
    										$buffer[] = $words[$combination[0]][$a]
    												.' '.$words[$combination[1]][$b]
    												.' '.$words[$combination[2]][$c]
    												.' '.$words[$combination[3]][$d]
    												.' '.$words[$combination[4]][$e]
    												.' '.$words[$combination[5]][$f]
    												.' '.$words[$combination[6]][$g];
    									}
    								}}
    								else{
    									$buffer[] = $words[$combination[0]][$a]
    											.' '.$words[$combination[1]][$b]
    											.' '.$words[$combination[2]][$c]
    											.' '.$words[$combination[3]][$d]
    											.' '.$words[$combination[4]][$e]
    											.' '.$words[$combination[5]][$f];
    								}
    							}}
    							else{
    								$buffer[] = $words[$combination[0]][$a]
    										.' '.$words[$combination[1]][$b]
    										.' '.$words[$combination[2]][$c]
    										.' '.$words[$combination[3]][$d]
    										.' '.$words[$combination[4]][$e];
    							}
    						}}
    						else{
    							$buffer[] = $words[$combination[0]][$a]
    									.' '.$words[$combination[1]][$b]
    									.' '.$words[$combination[2]][$c]
    									.' '.$words[$combination[3]][$d];
    						}

    Вот такой вот кусок кода, к стати весь не поместился, я нашел в самописном движке, на котором моему знакомому сделали корпоративный сайт на 30 страниц. Бюджет был больше 2к зелени.

    Запостил: vagrand, 17 Мая 2012

    Все комментарии (2)
  14. Комментарий к говнокоду #10307

    • 1) (pl + 4 + 4 + i * 10) - так нужно, и что бы каждый раз по новому?
      2) sectorsNum data type? Сообщите, пжлста.
      P.S. Ябы этому дяде, с не выравненными полями, поля то, повыравнивал.
      Ответить
    Показать код ▼

    Си / Говнокод #10307

    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
    if ( sectors && sectorsNum )
    {
    	for ( i = 0; i < ( int )sectorsNum; i++)
    	{
    		*(unsigned int*)(pl + 4 + 4 + i * 10 ) = sectors[i].originalNum;
    		*(pl + 4 + 4 + i * 10 + 4) = 3 ;
    		*(unsigned int*)(pl + 4 + 4 + i * 10 + 5 ) = sectors[i].usedNum;	
    		*(pl + 4 + 4 + i * 10 + 9) = 4 ;
    	}
    	*(unsigned int*)(pl + 4 + 4 + i * 10 ) = newSectors;
    	*(pl + 4 + 4 + i * 10 + 4) = 0x0b ;
    	*(unsigned int*)(pl + 4 + 4 + i * 10 + 5 ) = newSectors * 0x200; // сектора в байты
    }

    В старых исходниках довольно крупного проекта нашелся сей замечательный отрывок... И очень одинокий коммент...

    Запостил: sima, 17 Мая 2012

    Все комментарии (7)
  15. Комментарий к говнокоду #10265

    • Я уже говорил выше, но всё-таки скажу слово в защиту монад. И применимости их не только в Хацкеле.

      >В смысле монад - нет, ни разу, никто не мешает их реализовать в Яваскрипте
      Нам нужно сделать асинхронный вызов. Найти например id человека, а потом сделать другой вызов - по этому id получить деталировку итд.
      js-способ - вложенные друг в друга callbackи.
      Монадический же подход - когда результат одного асинхронного вызова передается в другой, разворачивает и упрощает код.
      Ответить
    Показать код ▼

    Куча / Говнокод #10265

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    count c l = length $ filter (c==) l
     
    main = do 
            l <- getLine
            let
                    f = count '(' l
                    s = count ')' l
            in
            print $ f s (f==s)

    Посоны, как смешивать монадический код и не монадический?
    http://ideone.com/yRGDk
    Чистый код let in не хочет в монду.

    Запостил: HaskellGovno, 14 Мая 2012

    Все комментарии (171)
  16. Комментарий к говнокоду #10302

    • какой подлый class, главное все у него хорошо
      Ответить
    Показать код ▼

    PHP / Говнокод #10302

    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
    if (!class_exists('Memcache')) {
     
            class Memcache {
     
                function connect($l, $p) {
                    echo "НЕТ МЕМКЕША";
                    return true;
                }
     
                function get($n) {
                    return false;
                }
     
                function set($a, $b, $v, $g) {
                    return true;
                }
     
            }
     
        }

    улыбнуло )

    Запостил: Sulik78, 17 Мая 2012

    Все комментарии (1)
  17. Комментарий к говнокоду #10308

    • должен быть 42, другое дело, почему сразу умри, а не брейк
      Ответить
    Показать код ▼

    PHP / Говнокод #10308

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    /*при всем этом работает как часы*/
    ...
    foreach ($array as $k=>$v) {
        $k++
        if ($k==300) {
            die ('выходим потому что 5');
        }
    ...

    маленькая часть большого парсера

    Запостил: maslenkov, 17 Мая 2012

    Все комментарии (4)
  18. Комментарий к говнокоду #10257

    Показать код ▼

    Java / Говнокод #10257

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    int buttonState = R.id.power_widget_button_indic; // Зачем-то объявили лишнюю переменную, ссылающуюся на константу
    ImageView indic = (ImageView) mView.findViewById(R.id.power_widget_button_indic); // Но здесь используем константу, а не новую, более короткую переменную!
    if ((Settings.System.getInt(context.getContentResolver(), Settings.System.EXPANDED_HIDE_INDICATOR, 0)) == 1) {
    	indic.setVisibility(8); // Для установки видимости существуют константы View.VISIBLE, View.INVISIBLE и View.GONE, а циферка 8 вообще ни о чем мне не говорит
    } else {
    	indic.setVisibility(0); // И еще раз
    }

    Это - кусок кода из Android 4, вернее, из CyanogenMod 9. Репозиторий frameworks_base, файл packages/SystemUI/src/com/android/systemui/statusbar/powerwidget/PowerButton.java. И такого говнокода в исходниках Android - полно :(

    Запостил: RankoR, 13 Мая 2012

    Все комментарии (61)
  19. Комментарий к говнокоду #10298

    • Возможно речь шла о том, что NHibernate генерирует говнозапросы, а чем заставить его поумнеть, то проще написать запрос руками.
      Но вообще не вижу смысла в объединении системной таблицы сервера и post_cpz, то есть это стопудов какаша:
      >from systables where tabname = 'systables'
      Ответить
    Показать код ▼

    C# / Говнокод #10298

    1. 1
    2. 2
    3. 3
    4. 4
    OdbcCommand dist_cmd = ifx_conn.CreateCommand();
                    dist_cmd.CommandText = string.Format(@"select  -1 as districtid, '-=ВСІ=-' as districtname from systables where  tabname = 'systables'                               union all 
                                            select id as districtid , cpz_name as districtname from  post_cpz where directorate_id = {0} and id != 0 ORDER BY 2", (String.IsNullOrEmpty(DDL_obl.SelectedValue))?"-1":DDL_obl.SelectedValue);
                    reader = dist_cmd.ExecuteReader();

    в процессе рефакторинга, убирая NHibernate код был заменен на это

    Запостил: bercerker, 17 Мая 2012

    Все комментарии (9)
  20. Комментарий к говнокоду #10255

    Показать код ▼

    JavaScript / Говнокод #10255

    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
    pic = new Array()
    for(i=0;i<21;i++)
    {
    pic[i] = new Image();
    if(i==0) pic[i].src = "http://philosophy.do.am/_ph/1/1/272439236.jpg";
    if(i==1) pic[i].src = "http://philosophy.do.am/_ph/1/1/987050819.jpg";
    if(i==2) pic[i].src = "http://philosophy.do.am/_ph/1/1/442166179.jpg";
    if(i==3) pic[i].src = "http://philosophy.do.am/_ph/1/1/925090451.jpg";
    if(i==4) pic[i].src = "http://philosophy.do.am/_ph/1/1/833480698.jpg";
    if(i==5) pic[i].src = "http://philosophy.do.am/_ph/1/1/958410581.jpg";
    if(i==6) pic[i].src = "http://philosophy.do.am/_ph/1/1/472798047.jpg";
    if(i==7) pic[i].src = "http://philosophy.do.am/_ph/1/1/657609683.jpg";
    if(i==8) pic[i].src = "http://philosophy.do.am/_ph/1/1/559445124.jpg";
    if(i==9) pic[i].src = "http://philosophy.do.am/_ph/1/1/292242334.jpg";
    if(i==10) pic[i].src = "http://philosophy.do.am/_ph/1/1/2741410.jpg";
    if(i==11) pic[i].src = "http://philosophy.do.am/_ph/1/1/312659858.jpg";
    if(i==12) pic[i].src = "http://philosophy.do.am/_ph/1/1/333153864.jpg";
    if(i==13) pic[i].src = "http://philosophy.do.am/_ph/1/1/811066713.jpg";
    if(i==14) pic[i].src = "http://philosophy.do.am/_ph/1/1/108915398.jpg";
    if(i==15) pic[i].src = "http://philosophy.do.am/_ph/1/1/661197254.jpg";
    if(i==16) pic[i].src = "http://philosophy.do.am/_ph/1/1/255266572.jpg";
    if(i==17) pic[i].src = "http://philosophy.do.am/_ph/1/1/507281622.jpg"; 
    if(i==18) pic[i].src = "http://philosophy.do.am/_ph/1/1/996088137.jpg"; 
    if(i==19) pic[i].src = "http://philosophy.do.am/_ph/1/1/870834686.jpg"; 
    if(i==20) pic[i].src = "http://philosophy.do.am/_ph/1/1/507281622.jpg"; 
    if(i==21) pic[i].src = "http://philosophy.do.am/_ph/1/1/496256382.jpg"; 
    }

    так ребята с форума присваивают ссылки списку изображений

    Запостил: heleg, 13 Мая 2012

    Все комментарии (12)