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

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

    +111

    1. 1
    2. 2
    3. 3
    for(x = 1; x; x += x)
      if(!(((e*x)%m)/t))
      { x = d; break; }

    Недавно прислали с вопросом: "Тут что-то поломалось, надо исправить... Поможешь?"

    TarTar, 30 Ноября 2011

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

    +111

    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
    var
    s:string;
    begin
    repeat
    readln(s);
    until
    (length(s)=4)
    and(
                    (s[1]='1')
                  or(s[1]='2')
                  or(s[1]='3')
                  or(s[1]='4')
                  or(s[1]='5')
                  or(s[1]='6')
                  or(s[1]='7')
                  or(s[1]='8')
                  or(s[1]='9')
                              )
    and(
                    (s[2]='1')
                  or(s[2]='2')
                  or(s[2]='3')
                  or(s[2]='4')
                  or(s[2]='5')
                  or(s[2]='6')
                  or(s[2]='7')
                  or(s[2]='8')
                  or(s[2]='9')
                  or(s[2]='0')
                              )
    and(
                    (s[3]='1')
                  or(s[3]='2')
                  or(s[3]='3')
                  or(s[3]='4')
                  or(s[3]='5')
                  or(s[3]='6')
                  or(s[3]='7')
                  or(s[3]='8')
                  or(s[3]='9')
                  or(s[3]='0')
                              )
    and(
                    (s[4]='1')
                  or(s[4]='2')
                  or(s[4]='3')
                  or(s[4]='4')
                  or(s[4]='5')
                  or(s[4]='6')
                  or(s[4]='7')
                  or(s[4]='8')
                  or(s[4]='9')
                  or(s[4]='0')
                              )
    end.

    Нашёл у себя из первого курса.

    ReallyBugMeNot2, 07 Ноября 2011

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

    +111

    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
    function str_transfer(str: string; c: Integer): String;
    var
    i:Integer;
    begin
      i:= c;
      while PosEx(' ',str,i) > 0 do
        begin
          if PosEx(' ',str,i) > 0 then
            begin
              i:= PosEx(' ',str,i);
              Insert(#10#13,str,i+1);
              i:= i+c;
            end;
        end;
      Result:= str;
    end;

    "решил написать вот такую функцию, которая вставляет в строку переносы после определенного кол. символов, перенос строки вставляется между словами. Может кому пригодится...."

    bugmenot, 02 Июня 2011

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

    +111

    Monkeys scripting

    просто гет

    bugmenot, 18 Мая 2011

    Комментарии (89)
  6. C# / Говнокод #6408

    +111

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    // BasePage
    public virtual void Page_Error(object sender, EventArgs e) { }
    
    // Page
    public override void Page_Error(object sender, EventArgs e) { }

    Авторы-индусы были по всей видимости не в курсе о существовании OnError(EventArgs)

    abatishchev, 19 Апреля 2011

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

    +111

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    for (int i = 0; i < 10; i++)
                      {
                             Console.Write(";x=" + h * i * dn + ",U=" + res[i * dn, j * dm]);
                      }
                      Console.Write(";x=" + h * 10 * dn + ",U=" + res[10 * dn, j * dm]);

    No comments

    mstyura, 15 Апреля 2011

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

    +111

    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
    public List<Zone> IncludedZones {
    	get {
    		var result = new List<Zone>();
    		if (CarreerToHeap.Career.Name != null)
    			result.Add(CarreerToHeap.Career);
    		if (CarreerToHeap.UnLoading.Name != null)
    			result.Add(CarreerToHeap.UnLoading);
    
    		if (CarreerToBank.Career.Name != null)
    			result.Add(CarreerToBank.Career);
    		if (CarreerToBank.UnLoading.Name != null)
    			result.Add(CarreerToBank.UnLoading);
    
    		if (RT3110ToHeap.Career.Name != null)
    			result.Add(RT3110ToHeap.Career);
    		if (RT3110ToHeap.UnLoading.Name != null)
    			result.Add(RT3110ToHeap.UnLoading);
    
    		if (RT3110ToBank.Career.Name != null)
    			result.Add(RT3110ToBank.Career);
    		if (RT3110ToBank.UnLoading.Name != null)
    			result.Add(RT3110ToBank.UnLoading);
    
    		if (WestSubZoneToHeap.Career.Name != null)
    			result.Add(WestSubZoneToHeap.Career);
    		if (WestSubZoneToHeap.UnLoading.Name != null)
    			result.Add(WestSubZoneToHeap.UnLoading);
    
    		if (WestSubZoneToBank.Career.Name != null)
    			result.Add(WestSubZoneToBank.Career);
    		if (WestSubZoneToBank.UnLoading.Name != null)
    			result.Add(WestSubZoneToBank.UnLoading);
    
    		if (RemZone.Name != null)
    			result.Add(RemZone);
    		if (ParkingZone.Name != null)
    			result.Add(ParkingZone);
    		return result;
    	}
    }

    Охрененное свойство

    Guid, 01 Апреля 2011

    Комментарии (3)
  9. C# / Говнокод #6145

    +111

    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 const string Message = "messagebox";
                public const string Message_Error = "messagebox.error";
                public const string Message_Question = "messagebox.question";
    
            public void ProcessUrl(string url, object urlContext, EventHandler<ProcessUrlArgs> callback)
            {
                switch (url)
                {
                    case Url.Message:
                        urlArgs.Result = XtraMessageBox.Show((string) urlContext, captionText, MessageBoxButtons.OK,
                                                             MessageBoxIcon.Information, MessageBoxDefaultButton.Button1);
                        callback(this, urlArgs);
                        return;
                    case Url.Message_Error:
                        urlArgs.Result = XtraMessageBox.Show((string) urlContext, captionText, MessageBoxButtons.OK,
                                                             MessageBoxIcon.Error, MessageBoxDefaultButton.Button1);
                        callback(this, urlArgs);
                        return;
                    case Url.Message_Question:
                        urlArgs.Result = XtraMessageBox.Show((string) urlContext, captionText, MessageBoxButtons.OKCancel,
                                                             MessageBoxIcon.Question, MessageBoxDefaultButton.Button2);
                        callback(this, urlArgs);
                        return;
                }
     
         // дальше идет уже ручная разборка Url

    Человек изобрел своего диспетчера контролов внутри формы. Вместо специфических методов вызывающий формирует строку вида
    "command.subcommand.parameter1.parameter 2", передается диспетчеру а он уже парсит это обратно.
    К примеру "prefix.persons.view.23.all" означает что нужно создать юзер контрол PersonDetail для персоны с id 23 и показать все опции. Но можно передать и "message" тогда покажется messagebox. Все это происходит внутри одного UI модуля, и все классы internal. более того, этих usercontrols всего 4 разных и все это говно можно заменить на 4 метода с парой параметров в каждом. Но там было бы слишком просто и легко отслеживать что откуда вызывается. А в случае единственного метода ProcessUrl (который не url :) ) все гораздо веселее.

    eval_2009, 30 Марта 2011

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

    +111

    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
    if Z = 'Pr'
        then
          case N of
          1: Series1.Assign(Series33);
          2: Series2.Assign(Series33);
          3: Series3.Assign(Series33);
          4: Series4.Assign(Series33);
          5: Series5.Assign(Series33);
          end
        else
          if Z = 'ST'
            then
              case N of
              1: case Kolvo_Issledovanii of
                1: Series6.Assign(Series33);
                2: Series34.Assign(Series33);
                3: Series59.Assign(Series33);
                end;
    //пропущено 15 строк 
              5: case Kolvo_Issledovanii of
                1: Series10.Assign(Series33);
                2: Series38.Assign(Series33);
                3: Series63.Assign(Series33);
                end;
              end
            else
              if Z = 'TT'
                then
                  case N of
                  1:
                    case Kolvo_Issledovanii of
                    1: Series11.Assign(Series33);
                    2: Series39.Assign(Series33);
                    3: Series64.Assign(Series33);
                    end;
    //в том же духе, ещё 150 строк
    //вообще-то, в том же духе - весь код, около 5000 строк
    //...
    
    //в другом месте:
      Series1.Clear;
      Series2.Clear;
      Series3.Clear;
      Series4.Clear;
    //пропущено 75 строк
      Series80.Clear;
      Series81.Clear;
      Series82.Clear;
      Series83.Clear;
    //...
    
      Series1.Active:=false;
      Series2.Active:=false;
      Series3.Active:=false;
      Series4.Active:=false;
    //пропущено 75 строк
      Series80.Active:=false;
      Series81.Active:=false;
      Series82.Active:=false;
      Series83.Active:=false;

    Фтопку ООП!
    Такой вот диплом был сдан кем-то в прошлом году.

    maniac, 07 Ноября 2010

    Комментарии (16)
  11. C# / Говнокод #4392

    +111

    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
    IExecuteResult result = null;
                string sql = "";
                sql = sql + "SELECT t.TitleID, t.TitleName, t.IsActive, t.CreatedBy, t.ModifiedBy, t.DateCreated, t.DateModified FROM tluTitles t ORDER BY t.TitleName";
    
    
                SQLiteConnection cn = new SQLiteConnection(MainClass.strConn);
                cn.Open();
                SQLiteCommand cmd = new SQLiteCommand(sql, cn);
                cmd.ExecuteNonQuery();
                cmd.Dispose();
                cn.Close();
    
                return ((ISingleResult<usp_Title_All_SELResult>)(result.ReturnValue));

    израиль жжот!! чел переносил проект с mssql на sqlite и фиксил вызов стор процедур в файле дизайнера linq2sql.. я плаччууууу! =))))

    nitropropain, 19 Октября 2010

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