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

    −109.8

    1. 1
    2. 2
    3. 3
    4. 4
    Процедура ТоварыПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
    	ДанныеСтроки.Осталось = ДанныеСтроки.Поступление - СуммаСтроки;
    	Элемент.Колонки.Объем.ТекстПодвала = Товары.Итог("Объем");
    КонецПроцедуры

    Всё тот же Самоделкин. Обработка события при выводе строки.
    Догодайтесь, в чём изюминка этой процедуры?

    Kopchuga, 12 Октября 2009

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

    +131.8

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    public string EncodeParameter_1251(string param) {
    	var result = new StringBuilder();
    	foreach (var bt in Encoding.GetEncoding("windows-1251").GetBytes(param)) result.AppendFormat("%{0}", bt.ToString("X02"));
    	return result.ToString(); 
    }

    метод кодирующий значение параметра запроса в "windows-1251" в формате URL (%FF%FF%FF...).
    у проекта кодировка запросов в "UTF-8", но у остальных проектов - "windows-1251", и в другой кодировке они некорректно обрабатывают кириллицу в строке запроса. знаю, наговнокодил, ну а шо поделаеш...

    xeonix, 12 Октября 2009

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

    −156

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    Дораспределить = Новый ТаблицаЗначений();
    Дораспределить.Колонки.Добавить("Строка");
    Дораспределить.Колонки.Добавить("Количество");
    .....
    Дораспределить.Очистить();
    НовДораспределить = Дораспределить.Добавить();
    НовДораспределить.Строка = Дораспределить[0].Строка;
    НовДораспределить.Количество = Дораспределить[0].Количество - ОсталосьРаспределить;

    Новые приключения Самоделкина. На этот раз у него не прокатило, в последней строке валится с ошибкой.

    Kopchuga, 12 Октября 2009

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

    −159.9

    1. 1
    2. 2
    3. 3
    Если Не Запрос.Выполнить().Пустой() Тогда
    	Рез = Запрос.Выполнить().Выбрать();
    КонецЕсли;

    Пишу со слов друга, а он копает базу после местного самоделкина.
    Такая конструкция там везде, а запросы часто сделаны к физическим таблицам с минимумом условий.

    Kopchuga, 12 Октября 2009

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

    +77.8

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    //Проверка на аццкие числа, ибо
          //"И он сделал то, что всем - малым и великим, богатым и нищим, свободным и рабам - положено будет начертание на правую руку
          // их или на чело их, и что никому нельзя будет ни покупать, ни продавать, кроме того, кто имеет это начертание или имя зверя,
          // или число имени его. Здесь мудрость. Кто имеет ум, тот сочти число зверя, ибо это число человеческое; число его шестьсот шестьдесят шесть".
          // (Апок. 13, 16-18).
          if (result.indexOf("666") > -1) {
    .........
    
    //Сатанский гетер
    public boolean isSatanic(){
    .......

    Вот такой вот код встретился в середине некого здорового метода для генерации номера пользователя.... И небольшой гетер к нему =))

    tsval, 12 Октября 2009

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

    +154.8

    1. 1
    2. 2
    3. 3
    4. 4
    final class Graph extends DefaultModule implements IModule {
    ..........
    	protected function getDataByDate() {
    ..........

    Интересно, какой скрытый смысл protected-метода в final-классе...

    darkmyan, 12 Октября 2009

    Комментарии (7)
  7. Си / Говнокод #1959

    +108.6

    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
    /**
     * Копирует первое большое число во второе.
     *
     * @param a большое число приемник
     * @param b большое число источник
     * @param n длинна больших чисел в словах
     *
     * @return FALSE - четное, TRUE - нечетное
     */
    void int_copy(uword_t *a, const uword_t *b, const int n)
    {
        memcpy(a, b, sizeof(a[0]) * n);
    }

    Вот такую милую функцию я нашел в проекте над которым работаю.

    pvkr2, 12 Октября 2009

    Комментарии (32)
  8. JavaScript / Говнокод #1958

    +159.1

    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
    // Create new script element and start loading.
    _obtainScript: function(id, href) { with (document) {
        var span = null;
        // Oh shit! Damned stupid fucked Opera 7.23 does not allow to create SCRIPT 
        // element over createElement (in HEAD or BODY section or in nested SPAN - 
        // no matter): it is created deadly, and does not respons on href assignment.
        // So - always create SPAN.
        var span = createElement("SPAN");
        span.style.display = 'none';
        body.appendChild(span);
        span.innerHTML = 'Text for stupid IE.<s'+'cript></' + 'script>';
        setTimeout(function() {
            var s = span.getElementsByTagName("script")[0];
            s.language = "JavaScript";
            if (s.setAttribute) s.setAttribute('src', href); else s.src = href;
        }, 10);
        this._id = id;
        this._span = span;
    }},

    коммент жжот, грубо, но справедливо

    via xeonix

    striker, 12 Октября 2009

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

    +105.5

    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
    //одногрупнику надо было проверить, является ли "obj" - "А"
    //наблюдал за процессом, и плакал
    //----------------------------------------------------------------------------------
    //1 версия
    static bool IsA(object obj) {
    if (obj.GetType().Name.Equals("A", StringComparison.InvariantCultureIgnoreCase))
        return true;
        else return false;
    }
    //----------------------------------------------------------------------------------
    //2 версия
    static bool IsA(object obj) {
        A a = new A();
        if (obj.GetType().Equals(a.GetType()))
            return true;
        else return false;
    }
    //----------------------------------------------------------------------------------
    //3 версия
    static bool IsA(object obj) {
        if (obj.GetType().Equals(typeof(A)))
            return true;
        else return false;
    }
    //----------------------------------------------------------------------------------
    //потом он вспомнил, что от "A" могут наследоваться другие классы
    static bool IsA(object obj) {
        Type typeObj = obj.GetType();
        do {
            if (typeObj.Equals(typeof(object)))
                return false;
            else if (typeObj.Equals(typeof(A)))
                return true;
            else typeObj = typeObj.BaseType;
        } while (true);
    }
    
    //плачу, смеюсь и плачу, а с виду одногрупник вроде не Индус...
    //...и весь этот говнокод был написан, вместо простого:
    static bool IsA(object obj) { return obj is A; }

    via xeonix

    striker, 12 Октября 2009

    Комментарии (15)
  10. JavaScript / Говнокод #1956

    +161.4

    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
    //проверка на браузер
    
    var brname=navigator.appName, BrVer='';
    if(brname.substring(0,2)=="Mi")
        BrVer='E';
    
    //реализация
     function showElement(elName)
    {
        if(BrVer!='E') return; //не осёл? и пошли нафиг!
        for (i = 0; i < document.all.tags(elName).length; i++)
        {
            //блаблабла
        }
    }

    типа выпадающее меню. типа только для IE.

    Ad_Astra, 12 Октября 2009

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