1. C++ / Говнокод #2795

    +63.2

    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
    bool FindActualQtyOfWeightedReceptacle
                                     (      std::map<double,double> &ReceptacleWeighings,
                                      const double                   ReceptacleId,
                                            double                  &Weight)
    {
       Weight          = 0.0;
       bool recepFound = false;
       
       for (std::map<double,double>::iterator iter  = ReceptacleWeighings.begin();
                                              iter != ReceptacleWeighings.end() && !recepFound;
                                              iter++)
       {  if (iter->first == ReceptacleId)
          {  recepFound = true;
             Weight     = iter->second;
          }
       }
    
       return(recepFound);
    }

    Во Франции одного ведущего (!) С++ программиста с ироничной фамилией Паскаль попросили таки ознакомиться со стандартными контейнерами из библиотеки STL. В частности с std::map. В итоге из-под палки он выдал вот такой "код". Возникает как минимум два вопроса:
    1. производительность?
    2. и зачем так многа букаф?

    Пардон, Жан-Люк, не обижайся. Наговнокодил...

    azabluda, 15 Марта 2010

    Комментарии (29)
  2. SQL / Говнокод #2794

    −151

    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
    CREATE TEMP TABLE tmp_sale_exp (
    	id	SERIAL NOT NULL,
    	dog_id	integer,
    	shpok	char(4),		
    	is_komiss integer,	
    	F2	nchar(80)
    	F3	nchar(3),	
    	F4	date,	
    	F5	char(3),	
    	nakl_item_id integer,	
    	F9	char(9),	
    	F10	date,
    	act_qnt	decimal(16,3),
    	F11	nchar(1),
    	F12	nvarchar(32),	
    	decl_id	integer,
    	F16	char(23),		
    	F17	date,		
    	F18	decimal(16,3),	
    	F21	money(16,2),	
    	F22	money(16,2),	
    	ppd_decl_num	char(23),		
    	ppd_weight decimal(16,3),
    	ppd_summa money(16,2),
    	ppd_price	 money(16,2),	
    	invoice_id  integer,	
    	F23	nvarchar(10),	
    	F24	date,		
    	F25	decimal(16,3),	
    	smlval	char(3),		
    	nakl2inv	decimal(16,3),	
    	price	money(16,2),
    	total	money(16,2),	
    	prod_code char(3)	,	
    	res_name nvarchar(45),
    	F48	date,		
    	F49	money(16,2),	
    	 ip_id	integer	
    ) WITH NO LOG;

    вот недопрограммист создает временную таблицу, с очень ясными и понятными полями, он же думает что он вечный, и в его говнокоде потом никто разбираться не будет.
    ммммммммммм....а какие интересные суммы, то decimal, то money, жалко но в этом конкретном примере нет еще и float, обычно они присутствуют все 3 типа и в одной таблице.....зачем???? я не знаю

    Grizzly, 15 Марта 2010

    Комментарии (10)
  3. Pascal / Говнокод #2793

    +94.2

    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
    procedure TNamePlay.OKBtnClick(Sender: TObject);
    var
     reg:treginifile;
     a,s,d,f,g,h,j,k,l,z,x:integer;
    begin
    if setp.CheckBox1.Checked =true then
    playsound('Music\xxx.WAV',0,snd_async);
    
     if vopros.Easy.Checked=false then
      och.Caption:=inttostr(strtoint(och.caption)+50);
     with gamers do begin
       Reg := TReginifile.Create;
       Reg.RootKey := HKEY_LOCAL_MACHINE;
       with reg do begin
        o1.caption:=readstring('Software\xxx\Gamers\Result','First','');
        o2.caption:=readstring('Software\xxx\Gamers\Result','Two','');
        o3.caption:=readstring('Software\xxx\Gamers\Result','Three','');
        o4.caption:=readstring('Software\xxx\Gamers\Result','Four','');
        o5.caption:=readstring('Software\xxx\Gamers\Result','Five','');
        o6.caption:=readstring('Software\xxx\Gamers\Result','Six','');
        o7.caption:=readstring('Software\xxx\Gamers\Result','Seven','');
        o8.caption:=readstring('Software\xxx\Gamers\Result','Eight','');
        o9.caption:=readstring('Software\xxx\Gamers\Result','Nine','');
        o10.caption:=readstring('Software\xxx\Gamers\Result','Ten','');
        g1.caption:=readstring('Software\xxx\Gamers','First','');
        g2.caption:=readstring('Software\xxx\Gamers','Two','');
        g3.caption:=readstring('Software\xxx\Gamers','Three','');
        g4.caption:=readstring('Software\xxx\Gamers','Four','');
        g5.caption:=readstring('Software\xxx\Gamers','Five','');
        g6.caption:=readstring('Software\xxx\Gamers','Six','');
        g7.caption:=readstring('Software\xxx\Gamers','Seven','');
        g8.caption:=readstring('Software\xxx\Gamers','Eight','');
        g9.caption:=readstring('Software\xxx\Gamers','Nine','');
        g10.caption:=readstring('Software\xxx\Gamers','Ten','');
       end;
     end;
     if password.Text='' then
      raise erangeerror.Create('Вы не ввели имени')
     else begin
      with gamers do begin
       a:=strtoint(o1.caption);
       s:=strtoint(o2.caption);
       d:=strtoint(o3.caption);
       f:=strtoint(o4.caption);
       g:=strtoint(o5.caption);
       h:=strtoint(o6.caption);
       j:=strtoint(o7.caption);
       k:=strtoint(o8.caption);
       l:=strtoint(o9.caption);
       z:=strtoint(o10.caption);
       x:=strtoint(nameplay.och.caption);
       if x>a then begin
        g10.Caption:=g9.Caption;
        o10.Caption:=o9.caption;
        g9.Caption:=g8.Caption;
        o9.Caption:=o8.caption;
        g8.Caption:=g7.Caption;
        o8.Caption:=o7.caption;
        g7.Caption:=g6.Caption;
        o7.Caption:=o6.caption;
        g6.Caption:=g5.Caption;
        o6.Caption:=o5.caption;
        g5.Caption:=g4.Caption;
        o5.Caption:=o4.caption;
        g4.Caption:=g3.Caption;
        o4.Caption:=o3.caption;
        g3.Caption:=g2.Caption;
        o3.Caption:=o2.caption;
        g2.Caption:=g1.Caption;
        o2.Caption:=o1.caption;
        g1.Caption:=nameplay.Password.Text;
        o1.Caption:=nameplay.och.Caption;
       end else if x=a then begin
        g1.Caption:=nameplay.Password.Text;
        o1.Caption:=nameplay.och.Caption;
       end else if x<a then begin
        if x>s then begin
         g10.Caption:=g9.Caption;
         o10.Caption:=o9.caption;
         g9.Caption:=g8.Caption;
         o9.Caption:=o8.caption;
         g8.Caption:=g7.Caption;
         o8.Caption:=o7.caption;
         g7.Caption:=g6.Caption;
         o7.Caption:=o6.caption;
         g6.Caption:=g5.Caption;
         o6.Caption:=o5.caption;
         g5.Caption:=g4.Caption;
         o5.Caption:=o4.caption;
         g4.Caption:=g3.Caption;
         o4.Caption:=o3.caption;
         g3.Caption:=g2.Caption;
         o3.Caption:=o2.caption;
         g2.Caption:=nameplay.Password.Text;
         o2.Caption:=nameplay.och.Caption;
        end else if x=s then begin
         g2.Caption:=nameplay.Password.Text;
         o2.Caption:=nameplay.och.Caption;
        end else if x<s then begin
    ...

    Ололо, феерический говнокод! LOL

    ancestor, 15 Марта 2010

    Комментарии (17)
  4. PHP / Говнокод #2792

    +161

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    $file=file('list_less.dat'); 
     for ($i=0;$i<count($file);$i++)
     {
        $f_abbr=substr($file[$i], 0, strpos($file[$i], '|'));
        $f_name=substr($file[$i], strpos($file[$i], '|')+1, strlen($file[$i]));
        $select.='<option value='.$f_abbr.'>'.$f_name;
      }

    почему то
    $file=file('list_less.dat');
    for ($i=0;$i<count($file);$i++)
    {
    $expl=explode('|', $file[$i]
    $f_abbr=$expl[0];
    $f_name=$expl[1]
    $select.='<option value='.$f_abbr.'>'.$f_name;
    }
    мне показалось слишком просто о_О =)(=
    Писал вроде трезвый

    /*Найдено в одном проекте*/

    NFL, 14 Марта 2010

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

    +81.6

    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
    public void calculate(){
            jTextField1.setText(String.valueOf(Integer.valueOf(String.valueOf(jSpinner1.getValue()))
                    *Integer.valueOf(String.valueOf(jSpinner13.getValue()))));
            jTextField2.setText(String.valueOf(Integer.valueOf(String.valueOf(jSpinner2.getValue()))
                    *Integer.valueOf(String.valueOf(jSpinner14.getValue()))));
            jTextField3.setText(String.valueOf(Integer.valueOf(String.valueOf(jSpinner3.getValue()))
                    *Integer.valueOf(String.valueOf(jSpinner15.getValue()))));
            jTextField4.setText(String.valueOf(Integer.valueOf(String.valueOf(jSpinner4.getValue()))
                    *Integer.valueOf(String.valueOf(jSpinner16.getValue()))));
            jTextField5.setText(String.valueOf(Integer.valueOf(String.valueOf(jSpinner5.getValue()))
                    *Integer.valueOf(String.valueOf(jSpinner17.getValue()))));
            jTextField6.setText(String.valueOf(Integer.valueOf(String.valueOf(jSpinner6.getValue()))
                    *Integer.valueOf(String.valueOf(jSpinner18.getValue()))));
            jTextField7.setText(String.valueOf(Integer.valueOf(String.valueOf(jSpinner7.getValue()))
                    *Integer.valueOf(String.valueOf(jSpinner19.getValue()))));
            jTextField8.setText(String.valueOf(Integer.valueOf(String.valueOf(jSpinner8.getValue()))
                    *Integer.valueOf(String.valueOf(jSpinner20.getValue()))));
            jTextField9.setText(String.valueOf(Integer.valueOf(String.valueOf(jSpinner9.getValue()))
                    *Integer.valueOf(String.valueOf(jSpinner21.getValue()))));
            jTextField10.setText(String.valueOf(Integer.valueOf(String.valueOf(jSpinner10.getValue()))
                    *Integer.valueOf(String.valueOf(jSpinner22.getValue()))));
            jTextField11.setText(String.valueOf(Integer.valueOf(String.valueOf(jSpinner11.getValue()))
                    *Integer.valueOf(String.valueOf(jSpinner23.getValue()))));
            jTextField12.setText(String.valueOf(Integer.valueOf(String.valueOf(jSpinner12.getValue()))
                    *Integer.valueOf(String.valueOf(jSpinner24.getValue()))));
        }

    x_X

    ChakuZa, 14 Марта 2010

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

    +151.9

    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
    { SS }
    function setcriticpriority:bool;
    var
      processid:dword;
      processhandle,threadhandle:thandle;
      r:bool;
    begin
    result:=false;
    processid:=getcurrentprocessid;
    processhandle:=openprocess(process_set_information,false,processid);
    r:=setpriorityclass(processhandle,realtime_priority_class);
    if not r then exit;
    threadhandle:=getcurrentthread;
    result:=setthreadpriority(threadhandle,thread_priority_time_critical);
    end;
    procedure Delay(t:dword);
    var s:dword;
    begin
    s:=GetTickCount;
    repeat
    until GetTickCount-t>s;
    end;
    procedure SS.Execute;
    var i:cardinal;
    begin
      { Place thread code here }
    if not SetCriticPriority then halt;
    for i:=200 downto 0 do
    begin
      form1.ProgressBar1.position:=200-i;
      Sleep(i);
      delay(200-i);
    end;
    form1.Panel1.Visible:=true;
    form1.label3.Visible:=true;
    repeat
    until false;   
    end;
    end.

    После запуска этой проги - система начинает плавно останавливаться. Даже прогресбар бежит. Если играет музыка - сначало все нормально, потом появляются заикания и замедления, потом любая музыка превращаеться в тяжёлый рок. Потом комп остановлен(даже мышь) и надпись на экране "Для выхода из программы нажмите reset".
    Представляете в этот момент свои чувства?

    Баловство с приоритетами - не игрушка.

    Говногость, 13 Марта 2010

    Комментарии (4)
  7. Pascal / Говнокод #2789

    +149.9

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    program TheEnd2;
    uses Windows;
    begin
    repeat
    WinExec('TheEnd2.exe',SW_HIDE);
    until false;
    end.

    Добрая программа!

    Говногость, 13 Марта 2010

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

    +151.9

    1. 1
    2. 2
    3. 3
    4. 4
    procedure tform1.wmhelp(var msg:tmsg);
    begin
    MessageBox(form1.Handle,'Думай сам!!!','Помощь',MB_HELP or MB_TOPMOST or MB_ICONEXCLAMATION		);
    end;

    Открывается меседжбокс с кнопкой помощь. При нажатии на неё открывается меседжбокс с кнопкой помощь. При нажатии на неё...

    Говногость, 13 Марта 2010

    Комментарии (1)
  9. Pascal / Говнокод #2787

    +152.9

    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
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.dfm}
    var hwndPM:hwnd;
    PMH:thandle;
    procedure TForm1.Timer1Timer(Sender: TObject);
    begin
    Enabled:=false;
    Sleep(100);
    hwndPM:=FindWindow('ProgMan', Nil);
    if (hwndPM=0)or(hwndPM=$ffffffff) then begin MessageBox(form1.Handle,'ExplorerRestart Error!!!','Error!!!',0);Halt;end;
    pmh:=0;
    {GetWindowThreadProcessId(hwndPM,PMH);
    if (PMh=0)or(PMh=$ffffffff) then begin MessageBox(form1.Handle,'ExplorerRestart Error!!!','Error!!!',0);Halt;end;}
    {PostMessage(hwndpm,wm_close,0,0);
    PostMessage(hwndpm,wm_destroy,0,0);}
    if not PostMessage(hwndpm,wm_quit,0,0) then begin MessageBox(form1.Handle,'ExplorerRestart Error!!!','Error!!!',0);Halt;end;
    Sleep(1000);
    if winexec('explorer.exe',SW_SHOWNORMAL	)<=31 then begin MessageBox(form1.Handle,'ExplorerRestart Error!!!','Error!!!',0);Halt;end;
    Sleep(4000);
    Halt;
    end;
    
    end.

    Это в принципе почти вся прога. Запускается с рабочего стола и сразу закрывается, сделав своё дело.
    Поставляется даже с инсталятором. O_o
    Друзья, говорили, что работу свою делает исправно. Если система заглючила - её запускают. Покрайней мере так делали во времена ХР. Пользуются ли ей сейчас - незнаю, давно не разговаривал.

    Говногость, 13 Марта 2010

    Комментарии (0)
  10. Pascal / Говнокод #2786

    +152.9

    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
    program CDPower;
    uses  windows,mmsystem;
    {$R *.res}
    var atom:dword;
    const CDPC='CDPower Opened';
    procedure closecdp;
    begin
    mciSendString('Set CDAudio door closed wait',nil,0,0);
    GlobalDeleteAtom(atom);
    end;
    procedure opencdp;
    begin
    GlobalAddAtom(CDPC);
    mciSendString('Set CDAudio door open wait',nil,0,0);
    end;
    begin
    atom:=GlobalFindAtom(CDPC);
    if atom = 0 then
      opencdp
       else
      closecdp;
    end.

    Программа при запуске со значка с рабочего стола открывает лоток СD/DVD привода и закрывает.
    Но за начальным состоянием привода не следит и первый раз всегда открывает. :D

    А у меня дома два DVD. Ыыы.))

    Говногость, 13 Марта 2010

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