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

    −121

    1. 1
    НомСтрЗаказа = ПолучитьПустоеЗначение("Число");

    Нашел тут в загашниках при поддержке "чужого кода".
    Вот оказывается как надо присваивать переменной нулевое значение!

    jerokee, 11 Октября 2012

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

    −121

    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
    Функция СоздатьЗапрос(Текст) Экспорт
    	Запрос = Новый Запрос;
    	Запрос.Текст=Текст;
    	Возврат Запрос;
    КонецФункции
    Функция СоздатьМассив() Экспорт
    	Возврат Новый Массив;
    КонецФункции
    Функция СоздатьСоответствие() Экспорт
    	Возврат Новый Соответствие;
    КонецФункции
    Функция СоздатьСтруктуру() Экспорт
    	Возврат Новый Структура;
    КонецФункции
    Функция СоздатьСписокЗначений() Экспорт
    	Возврат Новый СписокЗначений;
    КонецФункции

    Вот такие вот функции (это естественно не все) от OLE-мастера: NewObject - не, не слышал.

    ilya2184, 10 Октября 2012

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

    +75

    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
    public class Тетрадка {
    
    public static РабочийДень закрытьДень(РабочийДень последний, double зарплатаВыдана, double кассуЗабрали) {
            последний.выдана_зп = зарплатаВыдана;
            последний.выручку_забрали = кассуЗабрали;
            РабочийДень новый = new РабочийДень();
            Calendar c = Calendar.getInstance();
            новый.год = c.get(Calendar.YEAR);
            новый.месяц = c.get(Calendar.MONTH);
            новый.день = c.get(Calendar.DAY_OF_MONTH);
            последний.следующийДень = новый.год + "-" + новый.месяц + "-" + новый.день;
            новый.предыдущийДень = последний.год + "-" + последний.месяц + "-" + последний.день;
            новый.остаток = последний.остаток.сделатьКопию();
            новый.вкассе = последний.вкассеОбщее - последний.выручку_забрали;
            новый.общаяЗарплатаПрошлогоДня = последний.общаяЗарплата - последний.выдана_зп;
            String папка = "./days/" + новый.предыдущийДень + "/" + новый.предыдущийДень + "-";
            последний.сохранить(папка + "РабочийДень.data", папка + "ОстатокКарт.data", папка + "Приход.data");
            новый.сохранить("./последнийРабочийДень.data", "./последнийОстатокКарт.data", "./последнийПриход.data");
            return новый;
        }
    
     ....

    Brainexplode

    VirtualVoid, 10 Октября 2012

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

    +139

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    switch (!_data.Provider)
    {
            case true: _currentState = states.DT2F; break;
            case false: _currentState = states.DT2P; break;
    }

    Проверка двух условий

    Prafesor, 10 Октября 2012

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

    +156

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    getControlValues : function(isSimpleValue){
        return this._getControlData(function(tab){
            return tab.getControlValues(isSimpleValue);
        });
    }

    Образец "самодокументируемого кода"
    Маленький метод, но как много в нем загадок.

    jangot, 10 Октября 2012

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

    −153

    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 table ISU.Н_ЛЮДИ
    (
      ИД             NUMBER(9) not null,
      ФАМИЛИЯ        VARCHAR2(25) not null,
      ИМЯ            VARCHAR2(15) not null,
      ОТЧЕСТВО       VARCHAR2(20),
      ПИН            VARCHAR2(20),
      ИНН            VARCHAR2(20),
      ДАТА_РОЖДЕНИЯ  DATE not null,
      ПОЛ            CHAR(1) not null,
      МЕСТО_РОЖДЕНИЯ VARCHAR2(200),
      ИНОСТРАН       VARCHAR2(3) not null,
      ФИО            VARCHAR2(80),
      ДАТА_СМЕРТИ    DATE default '09.09.9999' not null,
      КТО_СОЗДАЛ     VARCHAR2(40) default USER not null,
      КОГДА_СОЗДАЛ   DATE default SYSDATE not null,
      КТО_ИЗМЕНИЛ    VARCHAR2(40) not null,
      КОГДА_ИЗМЕНИЛ  DATE default SYSDATE not null
    )

    Мопед не мой.
    PL/SQL, крупная организация.
    Oracle, зачем ты разрешил кириллицу в именах полей?

    Miketsukami, 10 Октября 2012

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

    −121

    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
    Процедура аСсылкиПриЗаписиПриЗаписи(Источник, Отказ) Экспорт
    	
    	Если аСервер.ЗагрузкаПоОбменуРиб(Источник) Тогда
    		Возврат
    	КонецЕсли;
    	
    	Если ТипЗнч(Источник)=Тип("СправочникОбъект.Корреспонденты") Тогда
    		
    		Если Источник.ОбменДанными.Загрузка Тогда Возврат; КонецЕсли;
    		Если Источник.Ссылка.ЭтоГруппа Тогда Возврат; КонецЕсли;
    		Если Источник.Предопределенный Тогда Возврат; КонецЕсли;
    		Источник.ОбменДанными.Загрузка=Истина;
    		Источник.Записать(); //Записать() в подписке ПриЗаписи() - крутой костыль
    		Источник.ОбменДанными.Загрузка=Ложь;
    		Источник.Комментарий = ...

    Вот такая вот подписка при записи любых ссылок. 3 Если подряд? Логическое умножение - не, не слышал. Зато Записать() в подписке ПриЗаписи - слышал. Автор Хан Юрий Валентинович.

    ilya2184, 10 Октября 2012

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

    +156

    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
    function isProperty(object, property) {
        "use strict";
        var p, names, original = object,
            ecmaTypes = [Object, Array, String, Number, Date];
        try {
            for (p = 0; p < ecmaTypes.length; p += 1) {
                if (ecmaTypes[p] == object) {
                    console.log("looking up: " + ecmaTypes[p]);
                    names = Object.getOwnPropertyNames(ecmaTypes[p]);
                    if ('prototype' in ecmaTypes[p]) {
                        names = names.concat(
                            Object.getOwnPropertyNames(
                                ecmaTypes[p].prototype));
                    }
                    break;
                }
            }
            do {
                object = object.prototype.__proto__.constructor;
                names = names ?
                    names.concat(Object.getOwnPropertyNames(object)) : [];
                if ('prototype' in object) {
                    names = names.concat(
                        Object.getOwnPropertyNames(object.prototype))
                }
            } while  (object != Object)
            if (!names) {
                names = Object.getOwnPropertyNames(object);
            }
        } catch (error) {
            for (p in object) {
                if (object[p] == property) {
                    return true;
                }
            }
            return false
        }
        for (p = 0; p < names.length; p += 1) {
            if (original[names[p]] == property ||
                original.prototype[names[p]] == property) {
                return true;
            }
        }
        return false;
    }

    А как еще узнать, является ли функция методом принадлежащим объекту или нет? Это еще после трех часов проведенных в муках пытаясь понять, что вообще происходит.

    wvxvw, 10 Октября 2012

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

    +48

    1. 1
    2. 2
    3. 3
    PHP supports eight primitive types - four scalar types, two compound types and finally three special types.
    
    8 == 4+2+3?

    http://www.php.net/manual/en/language.types.intro.php

    defecate-plusplus, 09 Октября 2012

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

    +47

    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
    private function getLastDate($year, $month)
        {
            $next_year = $year;
            $next_month = $month + 1;
            if ($next_month == 13) {
                $next_month = 1;
                $next_year++;
            }
            $next_time = mktime(0, 0, 0, $next_month, 1, intval($next_year));
    
            $lastdate = strtotime('-1 day', $next_time);
            $last_day = date('d', $lastdate);
    
            return $last_day;
        }

    date('t', strtotime("$year-$month-01"));

    nekufa, 09 Октября 2012

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