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

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

    −85

    1. 1
    [self.navigationItem setLeftBarButtonItem:[[[UIBarButtonItem alloc] initWithCustomView:[(TANavigationBar *)self.navigationController.navigationBar backButtonWith:[UIImage imageNamed:@"ActivityNavBackButtonBackground"] highlight:nil leftCapWidth:30.0f]] autorelease]];

    Однако, это печально :(
    И не индус вроде

    dove06, 25 Апреля 2012

    Комментарии (1)
  3. Куча / Говнокод #10031

    +97

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    If bd12tc->mes!=num_month
      st_mes=num_month
    Else
      st_mes=bd12tc->mes
    EndIf

    Clipper
    Перевожу на работе старую программку (писалась больше 12 лет назад) в Delphi, нашёл вот такое

    avstecenko, 25 Апреля 2012

    Комментарии (1)
  4. Си / Говнокод #10009

    +138

    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
    //
    		switch (cwin->cpref->shuffle) {
    			case TRUE:
    				last = g_list_last(cwin->cstate->rand_track_refs);
    				if ((!cwin->cstate->curr_rand_ref) || (last && (cwin->cstate->curr_rand_ref == last->data))){
    					path = get_next_unplayed_random_track(cwin);
    					if (!path)
    						rand_unplayed = TRUE;
    				}
    				else path = get_next_random_ref_track(cwin);
    				break;
    			case FALSE:
    				path = get_next_sequential_track(cwin);
    				if (!path) seq_last = TRUE;
    				break;
    			default:
    				break;
    		}

    буль...

    rat4, 21 Апреля 2012

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

    +100

    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
    procedure interpretation;
    var
    s,f:string;
    i,m,v:integer;
    
    begin
    s:=#0;
    
    for I:=0 to form9.Memo2.Lines.Count-1 do begin
      s:=form9.Memo2.Lines.Strings[i];//ïðîñìîòð ñòðîê èäåò
      //ñâåðõó âíèç
    
      if s='hex' then hex;
      if s='acsii' then acsii;
    
      if (s[1]='a') and (s[2]='d') and (s[3]='d') then begin
      form9.Edit6.Text:=s[5];
      form9.Edit5.Text:=s[7];
      peredsim;
      end;
    
      if (s[1]='s') and (s[2]='a') and (s[3]='m') then begin
      form9.Edit2.Text:=s[5];
      form9.Edit4.Text:=s[7];
      samsimbyl;
      end;
    
      if (s[1]='d') and (s[2]='e') and (s[3]='l') then begin
      form9.Edit3.Text:=s[5];
      for v:=1 to length(s) do
      deletesimbyl;
      end;
    
      if (s[1]='d') and (s[2]='e') and (s[3]='l') and (s[4]='s') then begin
      form9.Edit3.Text:=s[6];
      dels;
      end;
    
      if (s[1]='i') and (s[2]='n') and (s[3]='f') then begin
      form9.Memo1.Text:=s[5]+form9.Memo1.Text;
      end;
    
      if (s[1]='f') and (s[2]='n') and (s[3]='i') then begin
      form9.Memo1.Text:=form9.Memo1.Text+s[5];
      end;
    
      if (s[1]='p') and (s[2]='h') and (s[3]='e') then RapsrRedel;
    
    
      if (s[1]='n') and (s[2]='a') and (s[3]='b') then PerstNO;
    
    
      if (s[1]='a') and (s[2]='t') and (s[3]='s') then acsiitosim;
      if (s[1]='h') and (s[2]='t') and (s[3]='s') then hextosim;
      if (s[1]='h') and (s[2]='t') and (s[3]='a') then hextoacsii;
      if (s[1]='a') and (s[2]='t') and (s[3]='h') then acsiitohex;
    end;
    end;

    Нужно было быстро накодить интерпретатор, которым никто пользоваться не будет, кроме собственно автора программы, для создания простеньких скриптов (сами понимаете семантический анализатор писать, в данном случае не улыбалось). Потому получился такой МегОАдЪовый говнокод!

    Kerny, 21 Апреля 2012

    Комментарии (1)
  6. Java / Говнокод #9984

    +71

    1. 1
    2. 2
    Calendar calendar = new GregorianCalendar();
    calendar.setTime(new Date(System.currentTimeMillis()));

    Eyeless, 19 Апреля 2012

    Комментарии (1)
  7. JavaScript / Говнокод #9975

    +155

    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
    var d = new Date();
        dom = d.getDate();
        month = d.getMonth();
        year = d.getYear();
        if (year < 2000) year = year - 100;
        else year = year - 2000;
    
        if (year == 12 && month == 3)
            days = 26 - dom;
        else 
            days = 0;
        if (days < 0) days = 0;
        if (days < 10) days = '0' + days.toString();
    
    
    var base = 'http://ubuntu.ru/media/countdown/1204_1/';
    
    document.write('<a href="http://ubuntu.ru/"><img id="countdownimage" src="'+base+days+'.png" width="180" height="150" border="0" alt="Ubuntu 12.04 LTS" title="Ubuntu 12.04 LTS - Уже скоро!"></a>');
    //document.write('<a href="http://ubuntu.ru/get"><img id="countdownimage" src="'+base+'here.png" width="180" height="150" border="0" alt="Ubuntu 12.04 LTS" title="Ubuntu 12.04 LTS - Уже здесь!"></a>');

    http://ubuntu.ru/media/countdown/display.js

    хуита, 18 Апреля 2012

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

    +72

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    String displayName = report.getDisplayName();
                displayName.replace(
                        this.periodStartDateParamName,
                        this.getPeriodStartDateStr() );
                displayName.replace(
                        this.getPeriodEndDateParamName(),
                        this.getPeriodEndDateStr() );
                report.setDisplayName( displayName );

    Имитация бурной деятельности по замене подстрок.

    victor-homyakov, 17 Апреля 2012

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

    +152

    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
    function sendForm() {
      var checksrole = document.getElementsByName("role");
      var i = 0, f = 0;
      while (f == 0 && i < checksrole.length) {
        if (checksrole[i].checked == true) {
          f = 1;
        }
        i++;
      }
      if (f == 0) {
        WindowUtils.popUpDialog("Пожалуйста, выберите роль пользователя", "WARN");
        return false;
      }
      return true;
    }

    Автор не догадывается о существовании типа boolean, о говорящих именах функций, о досрочном выходе из цикла и о возможностях используемых фреймворков (на странице использованы одновременно YUI - для вывода окна сообщения и Prototype - для отправки AJAX-запроса).

    victor-homyakov, 16 Апреля 2012

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

    +117

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    static double E( double epsilon )
    {
    	int n = 1, nf = 1;
    	double e = 0;
    	while (Math.Abs(e - Math.E) > epsilon)
    	{
    		e += 1.0 / nf;
    		nf *= n;
    		n++;
    	}
    	return e;
    }

    Вычисление числа e как суммы обратных факториалов. По мотивам реальных событий.

    Steve_Brown, 16 Апреля 2012

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

    +153

    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
    <option value="0" 
    
    <?
    	if($_SESSION['ttype'] == 0){ echo "SELECTED"; }
    	echo ">Подключение\n<option value=\"0last\" ";
    	if($_SESSION['ttype'] == '0last'){ echo "SELECTED"; }
    	echo ">История - Подключение\n<option value=\"1\" ";
    	if($_SESSION['ttype'] == 1){ echo "SELECTED"; }
    	echo ">Саппорт\n<option value=\"1last\" ";
    	if($_SESSION['ttype'] == '1last'){ echo "SELECTED"; }
    	echo ">История - саппорт\n<option value=\"all\" ";
    	if($_SESSION['ttype'] == 'all'){ echo "SELECTED"; }
    ?>
    				>Все
    			</select>

    Вывод селекта для выбора типа заявки. 0.001% сочно наговнокоженного проекта

    VeroLom, 10 Апреля 2012

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