1. C# / Говнокод #15856

    +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
    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
    abstract class Data
        {
            public string QueryText { get; protected set; }
            public BindingSource SelectResult { get; private set; }
            public object[] SelectedRow { get; protected set; } 
    
        
            /// <summary>
            /// Добавляет новую запись в таблицу
            /// </summary>
            protected virtual void InsertRecord()
            {
                if (IsConnected())
                {
                    SqlDataAdapter DA = new SqlDataAdapter();
                    DA.InsertCommand = new SqlCommand(QueryText, DB.Connection);
                    DA.InsertCommand.ExecuteNonQuery();
                }
    
            }
    
            protected virtual void UpdateRecord()
            {
                if (IsConnected())
                {
                    SqlDataAdapter DA = new SqlDataAdapter();
                    DA.UpdateCommand = new SqlCommand(QueryText, DB.Connection);
                    DA.UpdateCommand.ExecuteNonQuery();
                }
            }
    
            protected virtual void DeleteRecord()
            {
                if (IsConnected())
                {
                    SqlDataAdapter DA = new SqlDataAdapter();
                    DA.DeleteCommand = new SqlCommand(QueryText, DB.Connection);
                    DA.DeleteCommand.ExecuteNonQuery();
                }
            }
    
    
            /// <summary>
            /// Выбирает данные и записывает результат в переменную SelectResult
            /// </summary>
            protected virtual void Select()
            {
                DataSet DS = new DataSet();
                DS.Tables.Add("Tbl");
                SqlDataAdapter ADP = new SqlDataAdapter();
    
                if (IsConnected())
                {
                    ADP.SelectCommand = new SqlCommand(QueryText, DB.Connection);
                    ADP.Fill(DS.Tables["Tbl"]);
    
                    SelectResult = new BindingSource();
                    string s = DS.Tables[0].TableName;
                    SelectResult.DataMember = s;
                    SelectResult.DataSource = DS;
                }
    
            }
    
    
            /// <summary>
            /// Выбирает данные и записывает результат в Object массив SelectedRow
            /// </summary>
            public virtual void SelectRow()
            {
                DataSet DS = new DataSet();
                DS.Tables.Add("Tbl");
                SqlDataAdapter ADP = new SqlDataAdapter();
    
                if (IsConnected())
                {
                    ADP.SelectCommand = new SqlCommand(QueryText, DB.Connection);
                    ADP.Fill(DS.Tables["Tbl"]);
                }
    
                SelectedRow = DS.Tables[0].Rows[0].ItemArray;
    
            }
    
            private bool IsConnected()
            {
                if(DB.Connection.State == System.Data.ConnectionState.Open)
                {
                    return true;
                }
                else
                {
                    return false;
                }
            }

    Ate1st, 28 Апреля 2014

    Комментарии (0)
  2. Куча / Говнокод #15855

    +143

    1. 1
    2. 2
    Небольшие программки :)
    Советую посмотреть и написать отзыв о любой из них.

    Скачать >> http://coun.at.ua/stuff/1-1-0-122

    Mobac, 28 Апреля 2014

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

    +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
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    SqlConnection con = new SqlConnection(connectionString);
                string sql = "SELECT idea.Id, idea.Small_text, idea.Full_text, idea.Example_text, ";
                sql = sql + " ul.FullName as Avtor, ref.Name as Status, even.date_act, (select count (*) from events ev where ev.id_action=2 and ev.id_target=idea.Id and ev.type_target=1) as CountComm, (select count (*) from events ev where ev.id_action=57 and ev.id_target=idea.Id and ev.type_target=1) as Voit, (select max(ev.date_act) from events ev where ev.id_action in (1,2,4,5,7,8,9,10,58,60,61,62,63,64,65,66,67,68,69,70,71,72,74) and ev.id_target=idea.Id and ev.type_target=1) as Last_action";
                sql = sql + " FROM Idea idea, UserLists ul, Refbook ref, Events even ";
                sql = sql + " WHERE idea.Avtor=ul.Id and idea.Status_id = ref.Id and even.id_action=1 and even.type_target=1 and even.id_target=idea.id ";
                if (id >= 0)
                    sql = sql + "  and idea.Status_id=" + id;
                if (id_avtor >= 0)
                    sql = sql + "  and idea.Avtor=" + id_avtor;
                sql = sql + " ORDER BY Last_action desc";
    
                SqlCommand cmd = new SqlCommand(sql, con);
                cmd.CommandType = CommandType.Text;
                List<Idea> Ideas = new List<Idea>();
                using (con)
                {
                    con.Open();
                    SqlDataReader reader = cmd.ExecuteReader();
                    while (reader.Read())
                    {
                        Idea idea = GetIdeaInfo(Int32.Parse(reader["Id"].ToString()));
                        Ideas.Add(idea);
                    }
                    reader.Close();
                    return Ideas;
                }

    Принял еще один проект. ASP.NET MVC4. Автор уехал в Новую Зеландию.

    Vince, 28 Апреля 2014

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

    +154

    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
    trait TPerson {
        public $fname;
        public $lname;
        public $mname;
    
        // ...
    }
    
    class BUser extends EMongoDocument {
        public $first_name;
        public $last_name;
        public $middle_name;
    
        // ...
    }
    
    class User extends BUser {
        public $firstname;
        public $lastname;
    
        // ...
    
    }

    Попалось такое наследие на одном рабочем месте. Было два типа юзеров, каждый из них наследовал BUser, в одном из них были firstname и lastname, в другом не были. В монге документы юзера, у которого свои firstname и lastname были вида:
    {
    _id: ObjectId("..."),
    ...
    first_name: '',
    last_name: '',
    middle_name: '',
    fname: '',
    lname: '',
    mname: '',
    firstname: '',
    lastname: ''
    }

    LubarVV, 26 Апреля 2014

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

    +72

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if(error == CABtEngineErrors.K_ERR_BTENGINE_CANCEL) {
    	mObserver.btEngineEncryptError(CABtEngineErrors.K_ERR_BTENGINE_CANCEL);
    } else {
    	mObserver.btEngineEncryptError(error);
    }

    busylee, 26 Апреля 2014

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

    +154

    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
    $massiv = array(1,2,3,4,5,6,7,8);
    $her = 0;
    $idRazdelov = array();
    $idRoditela = $idrazdelf;
    foreach($massiv as $chislo){
     
    $db_list = CIBlockSection::GetList(Array(SORT=>"ASC"), $arFilter = Array("IBLOCK_ID"=>"7", "ID"=>$idRoditela), true); 
    while($ar_result = $db_list->GetNext()){
        
        if ($her == 0){
        if ($ar_result["IBLOCK_SECTION_ID"]){
           $idRazdelov[].= $ar_result["ID"];
           $idRoditela = $ar_result["IBLOCK_SECTION_ID"]; 
        }else{
            $idRazdelov[].= $ar_result["ID"];
            $her = 1;
        }
        }
        
        }
    }

    Cotard, 25 Апреля 2014

    Комментарии (2)
  7. PHP / Говнокод #15849

    +153

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    class Application_Model_Product extends Leto_Model
    {
        ...
        public function getParts($cityId)
        {
           ...
            if (@$prods['Сезонный']) {
                $html[] = "<h2>" . _T(__FILE__, 'Сезонные') . "</h2><p>";
                ...
            }
            $html[] = '</p>';

    HTML в модели - это сильно

    DIX315, 25 Апреля 2014

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

    +152

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    /** 
     * Yesterday,
     * All my troubles seemed so far away
     * Now it looks as though they're here to stay
     * Oh, I believe in yesterday
     */
    $yesterday = date('Y-m-d', strtotime($_REQUEST['dateFrom']) - 86400);

    DIX315, 25 Апреля 2014

    Комментарии (0)
  9. PHP / Говнокод #15847

    +153

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    // Заполняем листы целиком одним махом. Что бы про PHP ни говорили, он весьма крут.
    $curr_griddles = array_merge($curr_griddles, array_fill(0, $gqty, array('total_qty' => $piesPerList, $pieId => $piesPerList)));
                                    
       ...
    
    // Выбираем наименее загруженного работника. А вот тут PHP демонстрирует корявость. Правда непонятно, мою или свою...
    asort($workersLoad); reset($workersLoad); $kv = each($workersLoad); $workerId = $kv['key'];

    DIX315, 25 Апреля 2014

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

    +129

    1. 1
    http://archive.today/9LWN

    From: Linus Torvalds
    I think goto's are fine, and they are often more readable than large
    amounts of indentation.

    laMer007, 25 Апреля 2014

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