1. VisualBasic / Говнокод #2173

    −366.8

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    Public Overrides Function DataChanged() As Boolean
            Const CONST_PROC_NAME = "DataChanged"
            Try
                Return False
            Catch objExcp As Exception
                Me.DisplayMessageBox("Unexpected Exception in " & CONST_CLASS_NAME & "." & CONST_PROC_NAME & " : " & objExcp.Message.ToString, MessageBoxIcon.Error)
            End Try
        End Function

    По суровому закону нашего проекта каждая функция должна быть обернута ловлей эксепшиона. Каждая. Всегда.

    6istik, 24 Ноября 2009

    Комментарии (24)
  2. Assembler / Говнокод #2172

    +240.1

    1. 1
    2. 2
    fld qword ptr [d]
    call @ROUND

    Это творчество дельфийского компилятора на тему i := round(d);
    Он делает вызов функции ради одной пустяковой команды, что очень влияет на скорость.

    TarasB, 24 Ноября 2009

    Комментарии (283)
  3. Си / Говнокод #2171

    +106.7

    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
    char *getUI_ID_AsString(MENU_ID menuId)
    {
        char *IdStr;
        	
    	if((menuId == VOLUME_ID) || (menuId == POPUPWIN_ID) || (menuId == YESNOWIN_ID) || (menuId == MAINMENU_ID) || (menuId == 
    		MODEMENU_ID) || (menuId == USBMODE_ID) || (menuId == SETTINGSMENU_ID) || (menuId == MENUPLAYMODE_ID) || (menuId == MENUEQ_ID) 
    		|| (menuId == MENUSETTING_ID) || (menuId == MENULOCK_ID) || (menuId == MENUPLAYSPEED_ID) || (menuId == MENUCONTRAST_ID) || (menuId == 
    		MENUBACKLIGHT_ID) || (menuId == MENULANGUAGE_ID) || (menuId == MENUSHUTDOWN_ID) || (menuId == MENUINFO_ID) || (menuId == 
    		MENUBEEP_ID) || (menuId == MENUFACTORYSET_ID) || (MENUUSEREQ_ID) || (menuId == SET_PREFERENCES_ID) || (menuId == 
    		MENUCONFIRM_RESET_ID) || (menuId == MENUCONFIRM_FORMAT_ID) || (menuId == MAINRECMENU_ID) || (menuId == RECSETMODE_ID) || 
    		(menuId == RECSETINPUT_ID) || (menuId == RECSETVAD_ID) || (menuId == RECSETAUTOSYNC_ID) || (menuId == NAVIGATION_ID) ||
    		(menuId == PROMPT_VOLUME_ID) || (menuId == MENUGPSAPPL_MAIN_ID) || (menuId == POWERON_CONNECTING_ID) || (menuId == 
    		HOMESCREEN_ID) || (menuId == RC_DOWNLOADING_ID) || (menuId == SCREEN_BRIGHTNESS_ID) || (menuId == ABOUT_ID) || (menuId == 
    		INSTMENU_ID) || (menuId == INST_ABOUT_ID) || (menuId == DISPL_ORIENT_ID) || (menuId == LINEOUT_ID) || (menuId == 
    		PRIVACY_MUTE_ID) || (menuId == TEST_INSTALL_ID) || (menuId == FACTORY_RESET_ID) || (menuId == CALL_DTMF_ID) ||	(menuId == 
    		NAVI_FILEMENU_ID) || (menuId == NAVI_CONFIRM_DEL_ID) || (menuId == NAVI_SELECTFOLDER_ID) || (menuId == LANG_SELECT_ID) ||
    		(menuId == DISPLAY_JPG_ID) || (menuId == DISPLAY_TEXT_ID) || (menuId == SET_DISPLAY_ID))
    	{
    	    IdStr = (char *) malloc(4);
        	strcpy(IdStr, " MENU");
    	}
    	else if( <тут примерно еще столько же условий> )
    		{
    		       IdStr = (char *) malloc(5);
    			   strcpy(IdStr, " PHONE");
    		}
    	else if( <тут примерно еще столько же условий> )
    		{
    		    strcpy(IdStr, " PBOOK");
    		}
    	else if( <тут примерно еще столько же условий> )
    		{
    		    IdStr = (char *) malloc(5);
    		    strcpy(IdStr, " MUSIC");
    		}
    	else if( <тут примерно еще столько же условий> )
    		{
    		    IdStr = (char *) malloc(3);
    		    strcpy(IdStr, " MSG");
    		}
    		
    		return IdStr;
    }

    Шедевр индусского говнокодирования. А потом с нас спрашивают, почему это у нас система нестабильно работает.
    switch, по ходу, они еще в школе не прошли, да и с математикой у них плоховато. А где-то память вообще выделять не надо - зачем?

    Scrambler, 24 Ноября 2009

    Комментарии (31)
  4. Java / Говнокод #2170

    +79.1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    if ((su != null) & (!su.getId().equals(id))) {
                    flag = false;
     } else if ((su != null) & (su.getId().equals(id))) {
                    flag = true;//true- not exist
     } else {
                    flag = true;
     }

    не пишите код по ночам... а то такое выходит..))

    maki, 24 Ноября 2009

    Комментарии (20)
  5. Pascal / Говнокод #2169

    +92.3

    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
    program krestiki_noliki;
    var a,b,c,
        d,e,f,
        g,h,i,
        click:char;
        cl,cr,count:smallint;
    
    procedure move; forward;
    
    procedure clickproc;
    begin
     If cr=0
      then
       begin
        cr:=1;
        click:='X';
       end
      else
       begin
        cr:=0;
        click:='O';
       end;
    end;
    
    procedure restart;
    begin
    if count<9
       then move
       else
        begin
         count:=0;
         cr:=0;
         cl:=0;
         click:='X';
         a:='_';
         b:='_';
         c:='_';
         d:='_';
         e:='_';
         f:='_';
         g:='_';
         h:='_';
         i:='_';
        end;
    end;
    
    procedure move;
    begin
      readln(cl);
      clickproc;
      if (cl=1) and (a='_') then a:=click;
      if (cl=2) and (b='_') then b:=click;
      if (cl=3) and (c='_') then c:=click;
      if (cl=4) and (d='_') then d:=click;
      if (cl=5) and (e='_') then e:=click;
      if (cl=6) and (f='_') then f:=click;
      if (cl=7) and (g='_') then g:=click;
      if (cl=8) and (h='_') then h:=click;
      if (cl=9) and (i='_') then i:=click;
      count:=count+1;
      writeln(a,'|',b,'|',c);
      writeln(d,'|',e,'|',f);
      writeln(g,'|',h,'|',i);
      writeln('-----');
      restart;
    end;
    
    begin
    count:=0;
    cr:=0;
    writeln('1|2|3');
    writeln('4|5|6f');
    writeln('7|8|9');
    writeln('-----');
    restart;
    end.

    навеяло кодом на Visual Basic, подумал что смогу воплотить на Паскале. Зря, не стоило...
    (так и не понял, что именно не работает)

    Airbus, 23 Ноября 2009

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

    +127.8

    1. 1
    _BUILD_FORMAT=`echo ${_FILE_NAME} | awk -F'.' '{ if($5=="gz")printf("%s",1);else printf("%s",2)}'`

    Имя файла имеет вид: xxx.version.src.tar.gz
    Эта проверка на то, какое расширение (и, соответственно, версия того, что внутри. О методе per se не буду, потому что нецензурно). Все бы ничего, пока имя файла не попадает, скажем, ./xxx.version.src.tar.gz

    nil, 23 Ноября 2009

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

    +145.7

    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
    <?
    //Для начала назначаем переменные
    
    .if(eregi("opera",$HTTP_USER_AGENT))// Если у тебя Опера, то переменная $browse = OP
    $browser = "OP";
    
    else if(eregi("msie",$HTTP_USER_AGENT))// Если у тебя MSIE, то переменная $browse = IE 
    $browser = "IE";
    
    else if(eregi("Mozilla.[4.]",$HTTP_USER_AGENT))
    $browser = "NS";
    
    else if(eregi("Mozilla.[5|6]",$HTTP_USER_AGENT))
    $browser = "MO";
    else // если что-то другое , то OT
    $browser = "OT";
    ?>
    //Все . Закончили с определением. Мы уже знаем какой у тебя браузер. Теперь выведеминфу о тебе.
    
    <? if ($browser=="IE") {
    echo "Internet Explorer";//Если ie, то пишет Internet Explorer
    }
    if ($browser=="OP") {
    echo "Opera!
    Обнови свой броузер и перестань морочить голову дизайнерам всякой межбраузерностью!";
    }
    if ($browser=="NS") {
    echo "Netscape!
    Обнови свой броузер и перестань морочить голову дизайнерам всякой межбраузерностью!
    ";
    }
    if ($browser=="MO") {
    echo "Mozilla! Обнови свой броузер и перестань морочить голову дизайнерам всякой межбраузерностью!";
    }
    if ($browser=="OT") {
    echo "А что у вас за Browser?";//если OT то пишет ...
    }
    ?>

    Решил поинтересоваться у Яндекса как определить браузер посетителя (на PHP).
    Вторая ссылка (http://www.realcoding.net/article/view/4910) привела на «замечательный» пример скрипта.

    sbb, 23 Ноября 2009

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

    +133.7

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    if(no!=s.FrameCounter) 
            s.FramesGarbage++;  //выкидываем кадр
            else { s.FramesOK++; s.NakCount++; }
            curbufdata=packet-data;
            if(no==s.FrameCounter) 
            WriteAdminLog("Не готов принять отриц. квитанцию (не в ожидании подтверждения) ",no,0,TRUE);
            else if(no!=s.FrameCounter) {  
            WriteAdminLog("Получена отриц. квитанция на последний переданный кадр! Часть данных могла потеряться. Корректируется счётчик на:",no,PARAM_LONG,FALSE);
            s.FrameCounter=no;
            }

    Из курсовой работы (своей). Готовлю к сдаче и нахожу такое.
    Видимо, в первоначальном варианте условие имело смысл, а потом я его поменял и оно стало лишним.

    vyalcevanet, 22 Ноября 2009

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

    +160.4

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    <?php 
    // ...
    $vars = get_class_vars($class_name);
    		if(is_array($vars)) {
    			foreach($vars as $var => $val) {
    				eval('$this->' . $var . ' = \'' . $val . '\';');
    			}
    		}

    некакая UNI-CMS
    это не самое худшее. что я там нашел ... в общем мрак... (

    nicolay-punin, 22 Ноября 2009

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

    +177.4

    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
    В данной функции можно легко настроить количество обрабатываемых пробелов.
    //==============Функция удаления лишних пробелов в файле==================//
    //@Удаляет лишние пробелы в файле
    //@Удаляет от 2 до 10 лишних пробелов
    //@Можно редактировать количество
    function delete_gap_file()
    {
    $this->CONTENT[$this->id]=preg_replace("/\s\s/i", " ", $this->CONTENT[$this->id]); 
    $this->CONTENT[$this->id]=preg_replace("/\s\s\s/i", " ", $this->CONTENT[$this->id]); 
    $this->CONTENT[$this->id]=preg_replace("/\s\s\s\s/i", " ", $this->CONTENT[$this->id]); 
    $this->CONTENT[$this->id]=preg_replace("/\s\s\s\s\s/i", " ", $this->CONTENT[$this->id]); 
    $this->CONTENT[$this->id]=preg_replace("/\s\s\s\s\s\s/i", " ", $this->CONTENT[$this->id]); 
    $this->CONTENT[$this->id]=preg_replace("/\s\s\s\s\s\s\s/i", " ", $this->CONTENT[$this->id]); 
    $this->CONTENT[$this->id]=preg_replace("/\s\s\s\s\s\s\s\s/i", " ", $this->CONTENT[$this->id]); 
    $this->CONTENT[$this->id]=preg_replace("/\s\s\s\s\s\s\s\s\s/i", " ", $this->CONTENT[$this->id]); 
    $this->CONTENT[$this->id]=preg_replace("/\s\s\s\s\s\s\s\s\s\s/i", " ", $this->CONTENT[$this->id]); 
    $this->CONTENT[$this->id]=trim($this->CONTENT[$this->id]); 
    return TRUE;
    }

    Наткнулся на какой-то WebOptHtml_v_1.0. 2005г.

    DrFreez, 20 Ноября 2009

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