- 1
НомСтрЗаказа = ПолучитьПустоеЗначение("Число");
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−121
НомСтрЗаказа = ПолучитьПустоеЗначение("Число");
Нашел тут в загашниках при поддержке "чужого кода".
Вот оказывается как надо присваивать переменной нулевое значение!
−121
Функция СоздатьЗапрос(Текст) Экспорт
Запрос = Новый Запрос;
Запрос.Текст=Текст;
Возврат Запрос;
КонецФункции
Функция СоздатьМассив() Экспорт
Возврат Новый Массив;
КонецФункции
Функция СоздатьСоответствие() Экспорт
Возврат Новый Соответствие;
КонецФункции
Функция СоздатьСтруктуру() Экспорт
Возврат Новый Структура;
КонецФункции
Функция СоздатьСписокЗначений() Экспорт
Возврат Новый СписокЗначений;
КонецФункции
Вот такие вот функции (это естественно не все) от OLE-мастера: NewObject - не, не слышал.
+75
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
+139
switch (!_data.Provider)
{
case true: _currentState = states.DT2F; break;
case false: _currentState = states.DT2P; break;
}
Проверка двух условий
+156
getControlValues : function(isSimpleValue){
return this._getControlData(function(tab){
return tab.getControlValues(isSimpleValue);
});
}
Образец "самодокументируемого кода"
Маленький метод, но как много в нем загадок.
−153
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, зачем ты разрешил кириллицу в именах полей?
−121
Процедура аСсылкиПриЗаписиПриЗаписи(Источник, Отказ) Экспорт
Если аСервер.ЗагрузкаПоОбменуРиб(Источник) Тогда
Возврат
КонецЕсли;
Если ТипЗнч(Источник)=Тип("СправочникОбъект.Корреспонденты") Тогда
Если Источник.ОбменДанными.Загрузка Тогда Возврат; КонецЕсли;
Если Источник.Ссылка.ЭтоГруппа Тогда Возврат; КонецЕсли;
Если Источник.Предопределенный Тогда Возврат; КонецЕсли;
Источник.ОбменДанными.Загрузка=Истина;
Источник.Записать(); //Записать() в подписке ПриЗаписи() - крутой костыль
Источник.ОбменДанными.Загрузка=Ложь;
Источник.Комментарий = ...
Вот такая вот подписка при записи любых ссылок. 3 Если подряд? Логическое умножение - не, не слышал. Зато Записать() в подписке ПриЗаписи - слышал. Автор Хан Юрий Валентинович.
+156
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;
}
А как еще узнать, является ли функция методом принадлежащим объекту или нет? Это еще после трех часов проведенных в муках пытаясь понять, что вообще происходит.
+48
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
+47
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"));