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

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

    +162

    1. 1
    window.location = "http://habrahabr.ru/post/116653/";

    Дело создателей 1С живет и процветает.

    3.14159265, 15 Июня 2012

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

    +133

    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
    static inline int getKey(short int high, short int low)
    {
        return (((int)high)<<16)+(int)low;
    }
    
    static inline short getHigh(int pKey)
    {
        return (short)(pKey>>16);
    }
    
    static inline short getLow(int pKey)
    {
        return (short)(pKey&0x00000000FFFFFFFF);
    }

    вот так. getHigh() оставил для полноты.

    Dummy00001, 14 Июня 2012

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

    +140

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    Классификация говнокода:
    1. Легкий говнокод
    2. Кучка говнокода
    3. Автор думал, что самый умный
    4. Жесткое порно в коде
    5. Муть полнейшая, автор на следующий день не смог разобраться сам
    6. После прочтения единственный путь нормально поспать - сделать лоботомию.

    Сидел я и разбирал чей-то говнокод.
    Чтобы расслабить нервы, которые уже на пределе, решил написать классификацию говнокода.
    Предлагайте свои варианты.

    oooZinka, 09 Июня 2012

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

    +104

    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
    using (var s = _session.OpenSession())
    	using (var tr = s.BeginTransaction())
    	{
    		if (!s.IsConnected)
    		{
    			s.SaveOrUpdate(factor);
    			tr.Commit();
    			s.Close();
    			return true;
    		}
    		else
    		{
    			s.Close();
    			return false;
    		}
    	}

    Maps, 09 Июня 2012

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

    +92

    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
    function THandlerServerCommands.CheckCommandOnDigits(const AComand: string;
      var AIndex: integer): Boolean;
    var
      i, k: Integer;
      Nn, Ln: integer;
      TempComand: string;
    begin
      Result := False;
      try
        TempComand := AComand;
        Ln := 1;
        Nn := 0;
        if FServerCommands.Find(TempComand, i) then
        begin
          AIndex := i;
          Result := True;
          Exit;
        end;
    
        for k := 1 to Length(AComand) do
        begin
          if not (AComand[k] in ['0'..'9']) then
            inc(Nn)
          else
          begin
            inc(Nn);
            if Nn > Ln then
            begin
              TempComand := '';
              TempComand := Copy(AComand, 1, Nn - 1);
              if FServerCommands.Find(TempComand, i) then
              begin
                AIndex := i;
                Result := True;
                Break;
              end;
            end;
            Ln := Nn + 1;
          end;
        end;
      except
        on e: Exception do
        begin
          Result := False;
          LogEx.Error('Ошибка в процедуре CheckCommandOnDigits c параметрами AComand = ' + AComand + ' ' + e.Message);
        end;
      end;
    end;

    Проверьте код на запашок

    DeadIgle, 08 Июня 2012

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

    +136

    1. 1
    2. 2
    3. 3
    <style type="text/css" title="currentStyle">
    	@import "currentStyle.css";
    </style>

    о как надо собачить стили.

    Lure Of Chaos, 07 Июня 2012

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

    +99

    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
    case NumberOfRegionalProblem of
        1:begin
            for i:=0 to N-1 do
              begin
                Mt[0,M+2]:=Fmu1(s[i+1,0].t);
                Mt[M+1,M+2]:=Fmu2(s[i+1,0].t);
                for j:=1 to M do
                  Mt[j,M+2]:=sqr(h)*(Y[i,j]+tau*FF(S[i,j].x,S[i,j].t));
                progon(Mt,M,Y[i+1]);
              end;
          end;
        2:begin
            for i:=0 to N-1 do
              begin
                Mt[0,M+2]:=Fmu1(s[i+1,0].t);
                Mt[M+1,M+2]:=Fmu2(s[i+1,0].t);
                for j:=1 to M do
                  Mt[j,M+2]:=sqr(h)*(Y[i,j]+tau*FF(S[i,j].x,S[i,j].t));
                progon(Mt,M,Y[i+1]);
              end;
          end;
        3:begin
            for i:=0 to N-1 do
              begin
                Mt[0,M+2]:=Fmu1(s[i+1,0].t);
                Mt[M+1,M+2]:=Fmu2(s[i+1,0].t);
                for j:=1 to M do
                  Mt[j,M+2]:=sqr(h)*(Y[i,j]+tau*FF(S[i,j].x,S[i,j].t));
                progon(Mt,M,Y[i+1]);
              end;
          end;
      end;

    Автор наркоман наверное, хз даже... :(

    SkuII, 05 Июня 2012

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

    +134

    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
    double erf(double x)
    {
        const double xbreak = 0.46875;
        ...
    
        y = fabs(x);
    
    //  evaluate  erf  for  |x| <= 0.46875
        if (y<xbreak)
        {
            ...
        }
    //  evaluate  erfc  for 0.46875 <= |x| <= 4.0
        else if ((y > xbreak) && (y <= 4.))
        {
            ...
        }
    //   evaluate  erfc  for |x| > 4.0
        else
        {
            ...
        }
    
    //   fix up for negative argument, erf, etc.
        if (x > xbreak)
           result = 1 - result;
        if (x < -xbreak)
           result = result - 1;
    
        return result;
    }

    > Надо было в свое время — перевел MATLABовский исходник на C (сделано через дробно-рациональные аппроксимации на нескольких отрезках)

    http://www.rsdn.ru/forum/alg/1797230.all.aspx

    TarasB, 05 Июня 2012

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

    −28

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    command = QString("sh -c \"echo \"nameserver %1\" > /etc/resolv.conf\"")
                  .arg(nameserver.toString());
    
    QProcess process;
    process.start(command);

    Zielscheibe, 04 Июня 2012

    Комментарии (8)
  11. JavaScript / Говнокод #10528

    +158

    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
    94. 94
    95. 95
    ISQ.Http.detectBroswer=function(){
        var b=navigator.appVersion;
        var f=navigator.userAgent;
        var a=0;
        ISQ.Http.browser={};
        if(navigator.appVersion.indexOf("Android")!==-1){
    	ISQ.Http.browser.app="android";
    	var c=navigator.appVersion.indexOf("Version/")+8;
    	var g=navigator.appVersion.substring(c,navigator.appVersion.indexOf(" ",c));
    	ISQ.Http.browser.version=parseInt(g);
    	ISQ.Http.browser.isMobile=true;
    	ISQ.Http.browser.usesViewport=true;
    	ISQ.Http.browser.isAndroid=true
        }
        else
        {
    	if(navigator.appVersion.indexOf("iPhone")!==-1){
    	    var g=navigator.appVersion.substring(0,navigator.appVersion.indexOf(" "));
    	    ISQ.Http.browser.app="safari";
    	    ISQ.Http.browser.version="iphone "+parseInt(g);
    	    ISQ.Http.browser.isMobile=true;
    	    ISQ.Http.browser.usesViewport=true;
    	    ISQ.Http.browser.isIPhone=true
    	}
    	else
    	{
    	    if(navigator.appVersion.indexOf("iPad")!==-1){
    		var g=navigator.appVersion.substring(0,navigator.appVersion.indexOf(" "));
    		/* identical to iPhone */
    	    }
    	    else
    	    {
    		if((a=b.indexOf("MSIE "))!==-1){
    		    ISQ.Http.browser.app="ie";
    		    a+=5;
    		    /* version check skipped */
    		}
    		else
    		{
    		    if(b.indexOf("Chrome")!==-1){
    			ISQ.Http.browser.app="chrome";
    			ISQ.Http.browser.version="0"
    		    }
    		    else
    		    {
    			if((a=b.indexOf("Safari"))!==-1){
    			    /* version check skipped */
    			}
    			else
    			{
    			    if((a=f.indexOf("Firefox/"))!==-1){
    				ISQ.Http.browser.app="ff";
    				/* version check skipped */
    			    }
    			    else
    			    {
    				if(f.indexOf("Opera/")!==-1){
    				    ISQ.Http.browser.app="opera";
    				    var c=f.indexOf("Version/");
    				    if(c===-1){
    					var d=f.indexOf(" ",6);
    					ISQ.Http.browser.version=f.substring(6,d)
    				    }
    				    else
    				    {
    					/* version check skipped */
    				    }
    				    ISQ.Http.browser.isOpera=true
    				}
    				else
    				{
    				    if(f.contains("Symbian")){
    					ISQ.Http.browser.app="symbian";
    					ISQ.Http.browser.version=1;
    					ISQ.Http.browser.full=ISQ.Http.browser.app+
    					    ISQ.Http.browser.version
    				    }
    				    else
    				    {
    					ISQ.Http.browser.app="ie";
    					ISQ.Http.browser.version="7.0;";
    					ISQ.Http.browser.isIE7=true
    				    }
    				}
    			    }
    			}
    		    }
    		}
    	    }
    	}
        }
        ISQ.Http.browser.full=ISQ.Http.browser.app+ISQ.Http.browser.version;
        f=null;
        b=null
    }

    Неизвестный автор ISQ фреймворка определяет браузер.
    Яваскрипт, Визуал Студио; Частное собрание сочинений.

    wvxvw, 03 Июня 2012

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