1. PHP / Говнокод #8159

    +157

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    function ru_date($date) {
        $ru_m = array("января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря");
        $el = explode(".",$date);
        for($i=0;$i<12;$i++) if($i+1==str_replace("0","", $el[1])) $el[1] = $ru_m[$i];
        $date = implode(" ", $el);
        return $date;
    }

    функция превращения даты вида 'd.m.Y' в 'd месяц Y'

    pahhan, 11 Октября 2011

    Комментарии (9)
  2. Си / Говнокод #8158

    +104

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    if (!fragment || !texture)
      {
        return (1); /* Валидность параметров не пройдена. Дальнейшие действия бесмыслены */
      }
      else
      {
        /* Ничего не делать*/
      }

    Эпичный комментарий, найденный в коде

    x0rb0t, 11 Октября 2011

    Комментарии (24)
  3. VisualBasic / Говнокод #8157

    −97

    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
    Private Sub CommandButton1_Click() 'необходимо
        For q = 2 To 500
        For w = 25 To 34
        For e = 3 To 13
            If Лист1.Cells(q, 4) = "Затрачено [...]" Or Лист1.Cells(q, 4) = "Затрачено на [...]" Then
            If Лист1.Cells(q, 7) = Лист11.Cells(w, 1) Then
            If Лист1.Cells(q, 6) = Лист11.Cells(3, e) Then
                Лист11.Cells(w, e) = Лист11.Cells(w, e) + Лист1.Cells(q, 5)
                Rem Лист1.Cells(q, 11) = 151
            End If
            End If
            End If
        Next
        Next
        Next
    End Sub
    
    ...
    
    TextBox4.Value = CLng(cdop1 * (TextBox15.Value * Лист5.Cells(10, 11)) + cdop2 * (TextBox15.Value * Лист5.Cells(10, 11))) + CLng(TextBox53.Value)
    
    ...
    
    Лист1.Cells(a, 45) = TextBox32.Value ' отсрочка
    
    If IsDate(TextBox58.Value) And IsDate(TextBox62.Value) Then
    Лист1.Cells(a, 46) = CDate(TextBox62.Value) - CDate(TextBox58.Value) ' прошло дней
    End If
    Лист1.Cells(a, 47) = TextBox55.Value ' зарплата
    Лист1.Cells(a, 48) = TextBox63.Value ' штраф
    
    If CheckBox6.Value = True Then
    Лист1.Cells(a, 49) = 1 ' комплект
    Else
    Лист1.Cells(a, 49) = 0
    End If

    Ну и так далее.

    Беда, коль пироги начнёт печи сапожник, а макросы писать бухгалтер.

    lucidfox, 11 Октября 2011

    Комментарии (15)
  4. SQL / Говнокод #8156

    −153

    1. 1
    2. 2
    3. 3
    SELECT COUNT(*) INTO v_inserted_data FROM f2s.column_map 
    WHERE old_id='TYPE='||i.pk_0 AND migration_id='fin95_aral' 
    AND fndr_table='R_ALLOWABLE' AND UPPER(NVL(fndr_constraint,'null'))=UPPER('NULL');

    Oracle 10.2 PL/SQL. продакшн код.
    Условие поиска NULL убило...

    slbsomeone, 11 Октября 2011

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

    −113

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    CURSOR v_cursor IS
      SELECT
       ...
       NVL(DECODE(record_status,'CURRENT',1,0),'1')       r_grain_ro_1_ins_64,
      ...

    Это в продакшн коде.
    Oracle 10.2, PL/SQL

    slbsomeone, 11 Октября 2011

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

    +166

    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
    92. 92
    93. 93
    void sort(student x[], perech *&py)
         { int l;
           perech t;
           //perech *y;
           py=new perech[n];
           l=1; k=0;
           for(i=0; i<n; i++)
    	  { fl=0;
    	    for(j=0; j<l; j++)
    	       { if((strcmp(x[i].fam,py[j].fam)==0)&&((strcmp(x[i].im,py[j].im)!=0)||(strcmp(x[i].gr,py[j].gr)!=0)))
    		   { fl=1;
    	    py[j].ng++; break;
    		   }
    		 if(fl==0) { strcmp(py[l-1].fam,x[i].fam);
    			     py[l].ng=1; l++;
    			   }
    	       }
    	  }
           for(i=0; i<(l-1); i++)
    	  for(j=i+1; j<l; j++)
    	     if(py[i].ng<py[j].ng)
    	       { t=py[i];
    		 py[i]=py[j];
    		 py[j]=py[i];
    	       }
           for(i=1; i<l; i++)
    	  if(py[0].ng=py[i].ng)
    	    k++;
           k++;
           py=new perech[k];
           if(py==NULL) {
    		      cout<<"Net pamyati"; getch();
    		      k=0; delete []py; return;
    		    }
           for(i=0; i<l; i++)
    	  py[i]=py[i];
           delete []py;
           cout<<"Perechen' sformirovan:\n";
           getch();
           for(i=0; i<l; i++)
    	  cout<<py[i].fam<<" "<<py[i].ng<<endl;
           getch();
         }
    void outputFileStudent(perech x[])
         { int l;
           ofstream fout;
           char file[L];
           cout<<"Vvedite imya faila:\n"; cin>>file;
           fout.open(file);
           if(fout.fail()) { cout<<"Error... Press any key for exit";
    			 getch(); return;
    		       }
           for(i=0; i<l; i++)
    	  fout<<x[i].fam<<" "<<x[i].ng<<endl;
           cout<<"File save\n";
           getch();
         }
    void outputFileStudentBin(perech y[])
         { ofstream fout;
           char file[L];
           cout<<"Vvedite imya save fila:\n"; cin>>file;
           fout.open(file, ios::binary);
           if(fout.fail()) { cout<<file<<"ne sozdan\n"; getch(); return; }
           fout.write((char *) y, k*sizeof(perech()));
           if(fout.fail()) { cout<<"Oshibka zapisi\n"; getch(); return; }
           cout<<"Perechen save\n";
           getch();
           fout.close();
         }
    void inputFileStudentBin(perech *&px)
         { ifstream fin;
           char file[20];
           int l;
           perech t;
           cout<<"Vvedite imya save faila:\n"; cin>>file;
           fin.open(file);
           if(fin.fail()) { cout<<"Error\n"; getch(); return();}
           for(i=0; i<l; i++)
    	   fin>>t.fam>>t.ng;
           fin.close();
    
           if(px!=NULL) delete []px;
           fin.open(file);
           if(fin.fail()) { cout<<"Povtornaya oshibka\n"; getch();
    			delete []px; k=0; return; }
           for(i=0; i<k; i++)
    	  fin>>px[i].fam>>px[i].ng;
           cout<<"file vveden\n"; getch();
           for(i=0; i<l; i++)
    	  cout<<px[i].fam<<" "<<px[i].ng<<endl;
           getch();
           fin.close();
         }

    Новый стажер решил задачу про студентов, вызывая их в компилированном виде из модуля 1С.
    Не знал в какой раздел запостить, поэтому пощу в 1С
    Вообще-то в 1С своя база.

    alexoy, 10 Октября 2011

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

    −105

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    Предлагаю конкурс на лучшую реализацию задачи про стеки.
    Язык - bash, python или любой скриптовый.
    Номинируются такие стадии
    1. Ленивая стека, push - o(n) pop o(1) top o(1) 
    2. Забывчивая стека, push - o(1), pop o(1) top o(1), для любого l : len(l)>=n push(l,x) = l
    3. Стека-очередь, push переводит стеку в режим очереди, pop переводит в режим стеки. top - O(1)
    4. Маразматическая стека, map (push l) (x1,x2,x3,x4) -> [x1, x1, x3, x3] o(n), pop(l) -> (x1,x1,x4) - номер сиротливого брата определяется старшим номером брата
    5. Бинарная стека - push o(1) pop o(1) top o(1), sort o(1), shuffle o(log(n))
    Номинантам лучших стадий будут достанутся приз

    Главное - не программировать стеку, а показывать всем, как я это делаю.
    До второй стадии осталось 22 часа. Второй шаг алгоритма

    alexoy, 10 Октября 2011

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

    +144

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    Уж извиняйте, сегодня без говнокода на С++ с геймдева.
    Ну, что-то я стал сильно жирный. Пора принимать фери внутриутробно.
    Я ухожу, чтобы не толстеть и дальше. It's last day.
    Нужно забанить RS-232 c паролем RS и ohlol с паролем ohlol.
    Я разлогинился и удалил ящики.
    Пожелайте мне удачного пути, да чтоб в двери не застрял. Я Вас всех полюбил, как и С++.
    Мне будет Вас всех не хватать, друзья.
    Ещё раз извините. До свидания в лучшем месте. Желаю вам всем удачи и хорошего настроения. ^_^

    http://www.youtube.com/watch?feature=player_detailpage&v=KUYhqUgg-ig#t=503s

    RS-232, 10 Октября 2011

    Комментарии (24)
  9. Куча / Говнокод #8151

    +119

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    class Greeter {
      static var prefix = 'Hello,';
    
      static greet(name) {
        print('$prefix $name');
      }
    }
    
    main() {
      var greeter = new Greeter();
      greeter.greet("govnokod!");
    }

    Решил потыкать в Dart (http://www.dartlang.org/), а он мне:
    greeter.greet$named is not a function

    rat4, 10 Октября 2011

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

    +81

    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
    if(strlength==1){str1}
    if(strlength==2{str1,str2}
    
    
    if(str2.isEmpty()){String str2=str.replaceAll(r1, r1_);
    
    String str6=str5.replaceAll(r5, r5_);
    	String str7=str6.replaceAll(r6, r6_);
    	String str8=str7.replaceAll(r7, r7_);
    	String str9=str8.replaceAll(r8, r8_);
    	String str10=str9.replaceAll(r9, r9_);
    	String str11=str10.replaceAll(r10, r10_);
    	String str12=str11.replaceAll(r11, r11_);
    	String str13=str12.replaceAll(r12, r12_);
    	String str15=str13.replaceAll(r14, r14_);
    	String str16=str15.replaceAll(r15, r15_);
    	String str17=str16.replaceAll(r16, r16_);
    	String str18=str17.replaceAll(r17, r17_);
    	String str19=str18.replaceAll(r18, r18_);
    	String str20=str19.replaceAll(r19, r19_);
    	String str21=str20.replaceAll(r20, r20_);
    	String str22=str21.replaceAll(r21, r21_);
    	String str23=str22.replaceAll(r22, r22_);
    	String str24=str23.replaceAll(r23, r23_);
    	String str25=str24.replaceAll(r24, r24_);
    	String str26=str25.replaceAll(r25, r25_);
    	String str27=str26.replaceAll(r26, r26_);
    	String str28=str27.replaceAll(r27, r27_);
    	String str29=str28.replaceAll(r28, r28_);
    	String str30=str29.replaceAll(r29, r29_);
    	String str31=str30.replaceAll(r30, r30_);
    	String str32=str31.replaceAll(r31, r31_);
    	String str33=str32.replaceAll(r32, r32_);
    	String str34=str33.replaceAll(r33, r33_);
    	String str35=str34.replaceAll(r34, r34_);
    	String str36=str35.replaceAll(r35, r35_);
    	String str37=str36.replaceAll(r36, r36_);
    	String str38=str37.replaceAll(r37, r37_);
    	String str39=str38.replaceAll(r38, r38_);
    	String str40=str39;
    	String str41=str40.replaceAll(r40, r40_);
    	String str42=str41;
    	String str43=str42.replaceAll(r42, r42_);
    	String str44=str43;
    	String str45=str44.replaceAll(r44, r44_);
    	String str46=str45.replaceAll(r45, r45_);
    	String str47=str46;
    	String str48=str47.replaceAll(r47, r47_);
    	String str49=str48.replaceAll(r48, r48_);
    	String str50=str49.replaceAll(r49, r49_);

    FanAs45809, 10 Октября 2011

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