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

    +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
    [DataContract]
            class outColumnsList
            {
    ...
                [DataMember]
                public decimal? FK_ID_OBJECT { get; set; }
    ...
                [DataMember]
                public decimal? IS_PK { get; set; }
                [DataMember]
                public decimal? IS_EDIT { get; set; }
    ..
            }
    ....
                    List<outColumnsList> l = new List<outColumnsList>();
                    while (r.Read())
                    {
                        outColumnsList l1 = new outColumnsList();
                        if (r.GetOracleValue(0).ToString()!="null")
                        l1.ID_OBJECT = Convert.ToDecimal(r.GetOracleValue(0).ToString());
                        l1.NM_DISPLAY = r.GetOracleValue(1).ToString();
                        l1.NM_SOURCE = r.GetOracleValue(2).ToString();
                        if (r.GetOracleValue(3).ToString() != "null")
                        l1.DISPLAY_SIZE = Convert.ToDecimal(r.GetOracleValue(3).ToString());
                        if (r.GetOracleValue(4).ToString() != "null")
                        l1.FK_ID_OBJECT = Convert.ToDecimal(r.GetOracleValue(4).ToString());
                        if (r.GetOracleValue(5).ToString() != "null")
                        l1.ORDER_DISPLAY = Convert.ToDecimal(r.GetOracleValue(5).ToString());
                        if (r.GetOracleValue(6).ToString() != "null")
                        l1.IS_EDIT = Convert.ToDecimal(r.GetOracleValue(6).ToString());
                        if (r.GetOracleValue(7).ToString() != "null")
                        l1.IS_PK = Convert.ToDecimal(r.GetOracleValue(7).ToString());
                        l1.FK_FIELD = r.GetOracleValue(8).ToString();
                        l1.NM_SOURCE_FK = r.GetOracleValue(10).ToString();
                        l.Add(l1);
                    }

    это потрясающе. в качестве идентификатора использовать дробные числа... хорошо хоть не с плавающей запятой.
    а так же, их же, для булевых....

    а то, как они из базы читались, так это вообще сказка.
    все ToString(), и все ConvertToDecimal... и проверка, на null еще тоже на уровне. про IsDBNull явно не слышал ничего

    Lokich, 07 Ноября 2014

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

    −123

    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
    Функция ПолучитьДробнуюЧасть(Число)
    	
    	Если Не ТипЗнч(Число) = Тип("Число") Тогда
    		Возврат 0;
    	КонецЕсли;
    	ЧислоСтрокой = Строка(Число);
    	Инд = 1;
    	Пока Истина Цикл
    	Символ = Сред(ЧислоСтрокой, Инд, 1);	
    	Если Символ = "" Тогда
    		Возврат 0;
    	ИначеЕсли Символ = "," Тогда
    		Если Сред(ЧислоСтрокой, Инд + 1, 1) = "" Тогда
    			Возврат 0;
    		КонецЕсли;
    		
    		Если Сред(ЧислоСтрокой, Инд + 2, 1) = "" Тогда
    			Возврат Число(Сред(ЧислоСтрокой, Инд + 1, 1));
    		КонецЕсли;
    		
    		Если Сред(ЧислоСтрокой, Инд + 3, 1) = "" Тогда
    			Возврат Число(Сред(ЧислоСтрокой, Инд + 1, 1) + Сред(ЧислоСтрокой, Инд + 2, 1));
    		Иначе
    			Возврат Число(Сред(ЧислоСтрокой, Инд + 1, 1) + Сред(ЧислоСтрокой, Инд + 2, 1) + Сред(ЧислоСтрокой, Инд + 3, 1));
    		КонецЕсли;
    	КонецЕсли;
    	Инд = Инд + 1;
    	КонецЦикла;
    КонецФункции

    Еще один "анекдот" от неизвестного автора. Предыдущий здесь: http://govnokod.ru/16639

    Jeyrico, 07 Ноября 2014

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

    +157

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if (!isset($_SERVER['DOCUMENT_ROOT'])) {
    	if (isset($_SERVER['SCRIPT_FILENAME'])) {
    		$_SERVER['DOCUMENT_ROOT'] = str_replace('\\', '/', substr($_SERVER['SCRIPT_FILENAME'], 0, 0 - strlen($_SERVER['PHP_SELF'])));
    	}
    }

    Никогда не слышали о '&&' или 'and'?
    https://github.com/opencart/opencart/blob/master/upload/system/startup.php#L15-L19

    Интересное замечание: классы Controller и Model в OpenCart имеет один и тот же код.

    volter9, 06 Ноября 2014

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

    +154

    1. 1
    2. 2
    3. 3
    4. 4
    $this->template_model = BaseCommunicationType::model()->findByAttributes(array('template' => $this->template));
    if(!$this->template_model === NULL) {
    		throw new Exception("Template name is wrong", 1);	
    }

    Угадайте, что будет из исключением?

    boddicheg, 06 Ноября 2014

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

    −161

    1. 1
    2. 2
    3. 3
    4. 4
    foreach my $i (0 .. (scalar @{ $PARAMS{Input} } - 1) )
    {
    	@{ $PARAMS{Input} }[$i] = expand_filename(@{ $PARAMS{Input} }[$i]);
    }

    Такая то экспрессия

    Anus, 06 Ноября 2014

    Комментарии (3)
  6. Java / Говнокод #17072

    +73

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    @GET
    @Path("/store")
    void getStoreSummary(@QueryParam("id") final String id, final MethodCallback<StoreSummary> callback);
    
    @GET
    @Path("/store")
    void getStoreDetails(@QueryParam("id") final String id, @QueryParam("detailed") final boolean mustBeTrue, final MethodCallback<StoreInfo> callback);

    Есть API-вызов HTTP GET, который по ?detailed=true возвращает расширенный JSON с дополнительными полями.

    И вот в RestyGWT, оказывается, по-другому никак. То есть если бы других параметров запроса не было, можно было бы просто написать

    @Path("/store?detailed=true")
    . Но он не умеет добавлять динамические параметры запроса к захардкоженным. Если попытаться - получается два вопросительных знака: [/code]/store?detailed=true?id=[id][/code].

    someone, 06 Ноября 2014

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

    +163

    1. 1
    $result = $db->query("update `" . $table_prefix . "options` set `option_value`='a:2:{i:0;b:0;s:8:" . '"auto_add"' . ";a:0:{}}' where `option_name`='nav_menu_options';");

    unserialize "глазами на лету" - ЛЕГКО!!!!

    taras_shs, 06 Ноября 2014

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

    +161

    1. 1
    2. 2
    3. 3
    4. 4
    /**
        * Деструктор
        */
        public function __destruct(){

    Публичная функция деструктор - пиши подробнее!

    Elfet, 05 Ноября 2014

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

    +141

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    /// <summary>
    /// Массив весов для генерации КС длиной в 60 символов
    /// </summary>
    private static int[] weightsArray = new int[]
    { 7, 3, 1, 7, 3, 1, 7, 3, 1, 7, 3, 1, 7, 3, 1, 7, 3, 1, 7, 3, 1, 7, 3, 1, 7, 3, 1, 7, 3, 1, 7, 3, 1, 7, 3, 1, 7, 3, 1, 7, 3, 1, 7, 3, 1, 7, 3, 1, 7, 3, 1, 7, 3, 1, 7, 3, 1, 7, 3, 1};

    Цикл? Нееее, надёжнее ведь руками забить!

    NeoN, 05 Ноября 2014

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

    +142

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    string.Format(
        "{0}{3}{1}{4}{2}",
        MrzRfid.Split(';')[0],
        MrzRfid.Split(';')[1],
        MrzRfid.Split(';')[2],
        Environment.NewLine,
        Environment.NewLine);

    Есть строка, которая состоит из 3х логических частей, разделеных символом ';'.
    Этот код разбивает эти 3 части по строкам

    NeoN, 05 Ноября 2014

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