1. Java / Говнокод #4811

    +80

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    for(xi=-aGraph/2-x0;xi<aGraph/2-x0;xi++){
        if((2*A*K*(xi-Cx)+2*B*(M*xi-Cy))*(2*A*K*(xi-Cx)+2*B*(M*xi-Cy))-4*(A*K*K+B)*(A*(xi-Cx)*(xi-Cx)-Ck+B*(M*xi-Cy)*(M*xi-Cy))>=0)
            yi=(-(2*A*K*(xi-Cx)+2*B*(M*xi-Cy))+(int)(Math.sqrt((2*A*K*(xi-Cx)+2*B*(M*xi-Cy))*(2*A*K*(xi-Cx)+2*B*(M*xi-Cy))-4*(A*K*K+B)*(A*(xi-Cx)*(xi-Cx)-Ck+B*(M*xi-Cy)*(M*xi-Cy)))))/(2*(A*K*K+B));
        if (xi+xx>xGraph&&xi+xx<xGraph+aGraph&&-yi + yy>yGraph&&-yi + yy<yGraph+bGraph&&
                (2*A*K*(xi-Cx)+2*B*(M*xi-Cy))*(2*A*K*(xi-Cx)+2*B*(M*xi-Cy))-4*(A*K*K+B)*(A*(xi-Cx)*(xi-Cx)-Ck+B*(M*xi-Cy)*(M*xi-Cy))>=0) {
            g.drawLine(xi + xx, -yi + yy, xi + xx, -yi + yy);
            if(m==1) 
                g.fillOval(xi + xx-1,-yi + yy-1,2,2);
        }
    }

    dervesp, 02 Декабря 2010

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

    +118

    1. 1
    if (string.IsNullOrEmpty(email) != false)

    zheka, 02 Декабря 2010

    Комментарии (80)
  3. PHP / Говнокод #4809

    +145

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    if (OnCreated != null)
                {foreach (EventHandler<CreatedEventArgs> handler in OnCreated.GetInvocationList())
                    {
                        handler(this, args);
                    }
    }

    Enzoy, 02 Декабря 2010

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

    +121

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    if (OnCreated != null)
                {foreach (EventHandler<CreatedEventArgs> handler in OnCreated.GetInvocationList())
                    {
                        handler(this, args);
                    }
    }

    человек слышал про GetInvocationList но когда его надо применять не понял - зато можно написать 4 строки вместо одной.
    В данном случае аналогом будет простой вызов OnCreated().

    eval_2009, 02 Декабря 2010

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

    +113

    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
    [Localizable(false)]
        internal abstract class ClassAIndex : IDisposable
        {
            public static ClassAIndex Run()
            {
                ClassBIndex index = new ClassBIndex();
                index.initialize();
                return index;
            }
         
          // еще методы - абстрактные
       
        }
    
         internal class ClassBIndex : ClassAIndex
        {
             // тут имплементация
        }

    я заменил названия у ClassA &B. Надо ли упомянать что другого наследника от ClassA нет и не предвидится?
    Ну а localizable атрибут со значением по умолчанию у простого класса (не Component) это уже на сладкое.

    eval_2009, 02 Декабря 2010

    Комментарии (0)
  6. Си / Говнокод #4806

    +127

    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
    #include <stdio.h>
    #include <math.h>
    
    double math_average (double values[2][3], int rows);
    double dispers (double values[2][3], int rows);
    
    void main() {
      int rows = 2;
      double values[2][3] = {(1,2),(2,4), (4,8)};
    
      double av = math_average (values, rows);
      double di = dispers (values, rows);
    }
    
    /* **********************************************
      Srednee Arifmeticheskoe
      @values[][0]: vremya otpravki paketa;
      @values[][1]: vremya priema paketa
      @values[][2]: raznitsa vremeni priema i otpravki
      @rows: kolichestvo strok 
      ********************************************** */
    double math_average (double* values[2][3], int rows){
      int count = rows;
      double sum = 0;
      
      while (count){
        *values[count][2] = *values[count][0] - *values[count][1];
        sum += *values[count][2];
    	count--;
      }
      
      return (sum / rows);
    }
    
    /* ***********************************
      Dispersiya
      D= sqrt (sum((sr_arifm - a[i])^2))
      @values[][0]: vremya otpravki paketa;
      @values[][1]: vremya priema paketa
      @values[][2]: raznitsa vremeni priema i otpravki
      @rows_sum: kolichestvo strok
    */
      double dispers (double* values[2][3], int rows){
        int count = rows;
        double sum = 0;
      
        double math_av = math_average(values, rows);
        for (int i = 0; i < count; i++){
          sum += pow((math_av - *values[i][2]), 2);
        }
    
        return (sqrt(sum));  
    }

    tuxdie, 01 Декабря 2010

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

    +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
    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
    program Project42;
    
    {$APPTYPE CONSOLE}
    
    uses
      SysUtils, Math;
    
    const
      Radix = 10;
    
    function čòũʼnť(N: Integer): Integer;
    begin
      Result := 0;
      while N > 0 do
      begin
        N := N div Radix;
        Inc(Result);
      end;
    end;
    
    function count(N: Integer): Integer;
    begin
    //  Result := Ceil(LogN(Radix, N));     { slow! }
      Result := Ceil(Log10(N));
    end;
    
    function rdtsc: Int64;
    asm
            rdtsc
    end;
    
    var
      I: Integer;
      t0: Int64;
    
    const
      N = 100500;
    
    begin
      try
        Assert((count(42) = čòũʼnť(42)) and (count(100500) = čòũʼnť(100500)));
    
        t0 := rdtsc;
        for I := 1 to N do
          čòũʼnť(Random(MaxInt + 1));
        Writeln('naïve: ', rdtsc - t0, ' ticks');
    
        t0 := rdtsc;
        for I := 1 to N do
          count(Random(MaxInt + 1));
        Writeln('prőper: ', rdtsc - t0, ' ticks');
    
        Writeln(StringOfChar('-', 42));
    
      except
        on E: Exception do
          Writeln(E.ClassName, ': ', E.Message);
      end;
    
      if DebugHook <> 0 then
      begin
        Write('any big key to exit...');
        Readln;
      end;
    
    end.
    
    { http://imgs.xkcd.com/comics/haiku_proof.png :-P }

    матан > метан
    O(1) > O(N)
    логарифм > байтоёбства с делением

    bugmenot, 01 Декабря 2010

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

    +161

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    $(document).ready(function () {
            $("#GridView1 INPUT[type='checkbox']").click(
            function () {
                var colIndex = $(this).parent().parent().prevAll().length;
                $('.' + $(this).parent().attr("class") + ' input[type="checkbox"]').each(function () {
                    if ($(this).parent().parent().prevAll().length == colIndex)
                        $(this).attr('checked', false);
                });
                $(this).attr('checked', true);
            });
        });

    взаимоисключающие чекбоксы в колонках таблицы

    zzy, 01 Декабря 2010

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

    +141

    1. 1
    <input type="hidden" id="id1" name="id1" value="someVal" readonly="readonly" style="background-color:Transparent;border:none;" />

    Стилизованный readonly hidden

    zheka, 01 Декабря 2010

    Комментарии (5)
  10. JavaScript / Говнокод #4802

    +147

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    var n = Math.abs(((date2 - date1) / 86400000) + 1);	
    var frac = n - Math.floor(n);
    
    if (frac > 0.5) {
    	n = Math.ceil(n);
    } else if (frac < 0.5 && frac.toPrecision(2) != 0) {
    	n = Math.floor(n);
    	n--;
    }
    
    n++;

    Мой говнокод.
    Задача: найти количество дней между двумя датами, включая сами эти даты. Время в датах сброшено в 0
    Фишка в том "(date2 - date1) / 86400000) + 1", не работает когда есть перевод часов между двумя датами.
    И вот такое говно я написал, которое по некоторым дням НЕ РАБОТАЕТ.

    переписал вот так:
    var n = Math.abs(date2 - date1);
    n /= 3600000;
    var mod = n % 24;
    if (mod == 23) {
    n++;
    } else if (mod == 1) {
    n--;
    }
    n /= 24;
    n++;

    теперь не важно сколько переводов часов прошло между датами: 0, 1, 2 или 5.

    По поводу говнокода:
    За такой frac на авторе надо зарабатывать фраг!

    Oleg_quadro: автор, убей себя головой о клаву:
    Oleg_quadro: "vb fgrbfvgr bgfvrt rtuijnikjikni56trg5rt6g45t6rgyh hnjunh ujuuuuuuuuuuuuuuuuuuuy"

    Oleg_quadro, 01 Декабря 2010

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