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

    +143

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    public static string CapitalizeFirstLetter(this string s)
    {
        if (String.IsNullOrEmpty(s))
            throw new ArgumentException("Stirng is empty");
        return s.First().ToString().ToUpper() + String.Join("", s.Skip(1));
    }

    не ищем легких путей

    baks, 07 Мая 2014

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

    +133

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    public static bool In<T>(this T t, params T[] values)
    {
    	return t == null ? values.Any(v => v == null) : values.Contains(t);
    }
    
    public static bool NotIn<T>(this T t, params T[] values)
    {
    	return !t.In(values);
    }

    замечательный экстэншн к object

    baks, 07 Мая 2014

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

    +71

    1. 1
    2. 2
    config.x = Integer.parseInt(json.get("x").toString());
    config.y = Integer.parseInt(json.get("y").toString());

    Преобразование long в int.

    Strannik1941, 07 Мая 2014

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

    +167

    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
    function validateBoolean($bool) {
    		if ($bool == 'true') {
    			return '1';
    		} else if ($bool == 'false') {
    			return '0';
    		}
    		
    		if ($bool == '1') {
    			return "true";
    		} else if ($bool == '0'){
    			return "false";
    		}
    		
    		exit("Invalid Boolean Data");
    	}

    вот такое чудо нам передали на поддержку

    NasGull, 07 Мая 2014

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

    +160

    1. 1
    2. 2
    3. 3
    class WPEditableComments{
    
    	function WPEditableComments(){$this->__construct();}

    Нашел в одном из плагинов wp. Чел думает об обратной совместимости ога

    Diwms, 07 Мая 2014

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

    +124

    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
    private int MsUntilNextRefresh(DayOfWeek refreshDay, uint refreshHour)
    {
    	int days = 0;
    	if (DateTime.Now.DayOfWeek > refreshDay)
    		days = refreshDay + 7 - DateTime.Now.DayOfWeek;
    	else if (DateTime.Now.DayOfWeek < refreshDay)
    		days = refreshDay - DateTime.Now.DayOfWeek;
    	else
    		days = 7;
    
    	int hours = 0;
    	if (DateTime.Now.Hour > refreshHour)
    	{
    		days--;
    		hours = (int)refreshHour + 24 - DateTime.Now.Hour;
    	}
    	else if (DateTime.Now.Hour < refreshHour)
    	{
    		hours = (int)refreshHour - DateTime.Now.Hour;
    	}
    	return days * 86400000 + hours * 3600000 - DateTime.Now.Minute * 60000 - DateTime.Now.Second * 1000 - DateTime.Now.Millisecond;
    }

    классический индусский код, вместо:

    private int MsUntilNextRefresh(DayOfWeek refreshDay, uint refreshHour)
    {
    var dtnow = DateTime.UtcNow;
    var nextRefreshDate =
    dtnow.Date.AddDays(dtnow.DayOfWeek >= refreshDay ? dtnow.DayOfWeek + 7 - refreshDay : refreshDay - dtnow.DayOfWeek).AddHours(refreshHour);
    return (nextRefreshDate - dtnow).Milliseconds;
    }

    valery_chistyakov, 07 Мая 2014

    Комментарии (8)
  7. Python / Говнокод #15934

    −96

    1. 1
    удалено

    удалено

    dunmaksim, 07 Мая 2014

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

    +147

    1. 1
    2. 2
    // Мне опять кажется, или скобки у !empty лишние?
    $id = (!empty($id)) ? $id : (int)$this->getState('message.id');

    http://ru2.php.net/manual/ru/language.operators.precedence.php

    psycho-coder, 07 Мая 2014

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

    +12

    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
    QVector<int> v1;
    v1.push_back(1);
    v1.push_back(2);
    
    // взяли итератор на нулевой элемент вектора v1
    QVector<int>::iterator it = v1.begin();
    
    // замутили копию
    QVector<int> v2 = v1;
    
    v1[1] = 42;
    *it = 5;
    v2[1] = 100500;
    
    // и что же мы получим?
    qDebug() << v1; // QVector(1, 42)
    qDebug() << v2; // QVector(5, 100500)

    Ловим лулзы с implicit sharing'ом.

    Мораль (она описана в доке): нельзя копировать implicit shared контейнер пока живы и используются неконстантные итераторы на его элементы.

    bormand, 06 Мая 2014

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

    −126

    1. 1
    2. 2
    3. 3
    4. 4
    Запрос = Новый Запрос("
    |ВЫБРАТЬ ПЕРВЫЕ 1000
    |.....");
    ВыборкаДанных = Запрос.Выполнить().Выгрузить();

    Код из правила выгрузки данных с произвольным запросом.
    Ведущий программист: "Блин, почему каждый раз выгружается разное количество объектов? Это же мистика!!!"

    Voittamaton, 06 Мая 2014

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