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

    В номинации:
    За время:
  2. Куча / Говнокод #14806

    +142

    1. 1
    Россия победила в XXII зимних Олимпийских играх.

    _Dark_, 23 Февраля 2014

    Комментарии (4)
  3. JavaScript / Говнокод #14772

    +155

    1. 1
    <form onsubmit="return true && checkXML(name)">

    и причем здесь true

    dead_star, 21 Февраля 2014

    Комментарии (4)
  4. PHP / Говнокод #14763

    +149

    1. 1
    $->db->select_value('select now()');

    наверное в мускуле какое-то другое время

    dead_star, 21 Февраля 2014

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

    +141

    1. 1
    2. 2
    3. 3
    ЕБАТЬ АДМИНИСТРАТОРА ВИО
    ДЖАСТИН БИБЕР ПИДОРАС
    Я ЕБАЛ МАМКУ АДМИНА ГОВНОКОДА

    Тест, хули. (С) мафия ВиО

    HUYPIZDA, 18 Февраля 2014

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

    +154

    1. 1
    2. 2
    3. 3
    4. 4
    $background_nid = _get_last_section_background($node);
    $new_background_nid = ($background_nid == 47)?48:47;
    $background_color = db_query("SELECT field_background_color_value FROM {field_revision_field_background_color} WHERE entity_id=:nid AND entity_type='node'", array(":nid" => $new_background_nid))->fetchField();
    $style_background = "background-color: #".$background_color."; ";

    Изысканное получение node id в Drupal

    valllllera, 18 Февраля 2014

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

    +136

    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
    private AseConnection con;
    
    public void CloseConnection()
    {
        if (this.con != null && this.con.State == ConnectionState.Open)
        {
            CloseConnection(this.con);
        }
    }
    
    public void CloseConnection(AseConnection con)
    {
        if (con == null)
            return;
    
        if (con.State == ConnectionState.Closed)
            return;
    
        con.Close();
    }

    А кому ещё враппэровъ? У меня много ихъ!

    wissenstein, 18 Февраля 2014

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

    +115

    1. 1
    2. 2
    3. 3
    4. 4
    for (int i = 0; i < 40; i++)
    {
    GC.Collect();
    }

    чтоб наверняка :))

    alex0f0b, 17 Февраля 2014

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

    +91

    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
    function TDuel.getFieldStr(p1: ansistring; p2: ansistring; p3: ansistring = ''): ansistring;
    begin
      Result := '';
      if p1 = 'p1' then begin
        if p2 = 'attack' then begin
          if p3 = '' then Result := p1attack;
          if p3 = '1' then Result := p1attack1;
        end;
        if p2 = 'defend' then begin
          Result := p1defend;
        end;
      end;
      if p1 = 'p2' then begin
        if p2 = 'attack' then begin
          if p3 = '' then Result := p2attack;
          if p3 = '1' then Result := p2attack1;
        end;
        if p2 = 'defend' then begin
          Result := p2defend;
        end;
      end;
    end;
    
    function TDuel.getFieldInt(p1: ansistring; p2: ansistring; p3: ansistring = ''): integer;
    begin
      if p1 = 'player' then begin
        if p2 = '1' then Result := player1;
        if p2 = '2' then Result := player2;
      end;
    
      if p1 = 'p' then begin
        if p2 = '1' then begin
          if p3 = 'dmg' then Result := p1dmg;
        end;
        if p2 = '2' then begin
          if p3 = 'dmg' then Result := p2dmg;
        end;
      end;
    end;
    
    procedure TDuel.updFieldInt(p1: ansistring; p2: ansistring; value: integer);
    begin
      if p1 = 'p1' then begin
        if p2 = 'dmg' then p1dmg := p1dmg + value;
      end;
      if p1 = 'p2' then begin
        if p2 = 'dmg' then p2dmg := p2dmg + value;
      end;
    end;

    Вот такой шедевр программерской мысли остался в коде сервера браузерки от первых девелоперов. Я так и не распарсил пока, что он делает-)

    Cynicrus, 17 Февраля 2014

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

    −184

    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
    - (Pt) menuItemPos: (int) i colRef: (int *) colr
    {
        int rowBeg [6] = { 1, 8, 15, 22, 28, 100 };
        float rowNum [6] =  { 7, 7, 7, 6.0, 5.0 };// { 7.03, 6.72, 7, 5.65, 4.43 };
        int col = -5;
        int row = -5;
        for(int j = 1; j < 6; ++j)
            if(i < rowBeg[j] && i >= rowBeg[j - 1])
            {
                row = j - 1;
                col = i - rowBeg[row];
                *colr = col;
                break;
            }
        
        float S = _large ? 80 : 30;
        float W = _large ? 1474/2 : 320;
        float w = W - 2 * S;
        float dx = w / (rowNum[row] - 1);
        
       // float scX = _large ? 2.1 : 1.0;
        float scY = _large ? 2.0 : 1.0;
        float aX = _large ? 18 : 0;
        return ccp( (S + col * dx) + aX,  (210 - row * 56.0) * scY);
    }

    Хардкодинг 90 уровня. Все константы подобраны вручную, с заботой и любовью.

    tirinox, 15 Февраля 2014

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

    +131

    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
    #region GetObjectTree
        [WebMethod]
        [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
        public RootNode getObjectTree() {
            using (SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["DSDPortal"].ConnectionString)) {
                using (SqlCommand cmd = new SqlCommand("Report.ObjectTree_Read", conn))
                using (SqlDataAdapter sda = new SqlDataAdapter(cmd)) {
                    cmd.CommandType = CommandType.StoredProcedure;
                    DataTable dt = new DataTable();
                    conn.Open();
                    sda.Fill(dt);
    
                    var RootObjects = (from row
                                     in dt.AsEnumerable()
                                       where row.Field<int>("IsAttribute") == 0 && (row.Field<string>("FullName").Split('.').Count() == 1 || !row.Field<string>("FullName").Contains('.'))
                                       select new { Desc = row["Description"].ToString(), FullName = row.Field<string>("FullName"), Type = row.Field<string>("DataType") }).AsEnumerable();
    
                    RootNode rt = new RootNode();
                    foreach (var obj in RootObjects) {
                        TreeNode o = new TreeNode();
                        o.data.title = obj.Desc;
                        o.attr.Name = obj.FullName;
                        o.attr.Type = obj.Type;
                        o.children.AddRange(getChildTreeNode(dt, obj.FullName));
                        rt.data.Add(o);
                    }
                    return rt;
                }
            }
        }
    
        private List<TreeNode> getChildTreeNode(DataTable dt, string contextName) {
            var nodes = from row
                        in dt.AsEnumerable()
                        where row.Field<string>("FullName") != contextName
                            && row.Field<string>("FullName").StartsWith(contextName)
                            && (contextName).Split('.').Count() + 1 == row.Field<string>("FullName").Split('.').Count()
    
                        select new {
                            Desc = row["Description"].ToString(),
                            FullName = row["FullName"].ToString(),
                            Type = row["DataType"].ToString()
                        };
            List<TreeNode> items = new List<TreeNode>();
            foreach (var o in nodes) {
                TreeNode ob = new TreeNode();
                ob.data.title = o.Desc;
                ob.attr.Name = o.FullName;
                ob.attr.Type = o.Type;
                ob.children.AddRange(getChildTreeNode(dt, ob.attr.Name));
                if (ob.children.Count == 0) {
                    ob.children = null;
                }
                items.Add(ob);
            }
            return items;
    
        }
        #endregion

    и весь этот фарш, только чтобы распарсить строки типа PARENT_OBJECT.OBJECT.CHILD_OBJECT.ATTRIB UTE, и показать их в виде дерева, вместо того, чтобы сразу хранить иерархию по человечески :(

    Lokich, 11 Февраля 2014

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