- 1
- 2
if str(type(date))!="<class 'datetime.date'>":
date=date.date()
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+3
if str(type(date))!="<class 'datetime.date'>":
date=date.date()
Решил перевести datetime.datetime в datetime.date
−17
#undef NULL
#define NULL ((void *) 0xDEADBEEF)
И все идиотские проверки типа:
if (ptr && ptr->field == value) { do_something(); }
идут лесом.
−1414
function Unescape(const s: AnsiString): widestring;
var
i: Integer;
j: Integer;
c: Integer;
begin
// Make result at least large enough. This prevents too many reallocs
SetLength(Result, Length(s));
i := 1;
j := 1;
while i <= Length(s) do begin
if s[i] = '\' then begin
if i < Length(s) then begin
// escaped backslash?
if s[i + 1] = '\' then begin
Result[j] := '\';
inc(i, 2);
end
// convert hex number to WideChar
else if (s[i + 1] = 'u') and (i + 1 + 4 <= Length(s))
and TryStrToInt('$' + string(Copy(s, i + 2, 4)), c) then begin
inc(i, 6);
Result[j] := WideChar(c);
end else begin
raise Exception.CreateFmt('Invalid code at position %d', [i]);
end;
end else begin
raise Exception.Create('Unexpected end of string');
end;
end else begin
Result[j] := WideChar(s[i]);
inc(i);
end;
inc(j);
end;
// Trim result in case we reserved too much space
SetLength(Result, j - 1);
end;
Это не вирус. Просто в Delphi 7 не завезли JSon.
+1412
counter++;
if (counter == 10)
{
Console.WriteLine();
counter = 0;
}
Не сразу понял, что делает этот код.
−264
Ответ = Вопрос("Будет запущена процедура создания договоров и печати документов. Продолжить?",
РежимДиалогаВопрос.ДаНет, 60, КодВозвратаДиалога.Да, ЗаголовокОкнаПредупреждения);
Если НЕ Ответ = КодВозвратаДиалога.Да Тогда
Возврат;
КонецЕсли;
−33
#include <http://govnokod.ru/21585>
// assembly output for f1_signed and f2_signed on GCC 7,6,5 ... versions are same
signed char f1_signed(signed char a1, signed char a2, signed char a3)
{
return MAXS(a1,a2,a3,a1,a2,a3);
}
signed char f2_signed(signed char a1, signed char a2, signed char a3)
{
return MAXS(a1,a2,a3);
}
// assembly output for f1_unsigned and f2_unsigned on GCC 7,6,5 ... versions are differend
// GCC compiler can't do same simplification for unsigned function
// This function produces much more assembler code than second
unsigned char f1_unsigned(unsigned char a1, unsigned char a2, unsigned char a3)
{
return MAXS(a1,a2,a3,a1,a2,a3);
}
unsigned char f2_unsigned(unsigned char a1, unsigned char a2, unsigned char a3)
{
return MAXS(a1,a2,a3);
}
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80574
Очередной мой багрепорт в GCC. Компилятор GCC может заоптимизировать повторяющуйся в MAXS хрень для signed char, но не может для unsigned
А вот Clang не может заоптимизировать ни то, ни другое. https://godbolt.org/g/7Kt9X0
−10
Функция РазностьДатВДнях(Дата1, Дата2, ВключаяГраницы = Истина)
Результат = ?(ВключаяГраницы, 1, 0);
Если Дата1 < Дата2 Тогда
ТекущаяДата = НачалоДня(Дата1);
ДатаОкончания = НачалоДня(Дата2);
Иначе
ТекущаяДата = НачалоДня(Дата2);
ДатаОкончания = НачалоДня(Дата1);
КонецЕсли;
Пока ТекущаяДата < ДатаОкончания Цикл
ТекущаяДата = НачалоДня(ТекущаяДата + 24 * 60 * 60);
Результат = Результат + 1;
КонецЦикла;
Возврат Результат;
КонецФункции
можно тремя строками заменить:
ДатаНачала = Мин(НачалоДня(Дата1), НачалоДня(Дата2));
ДатаОкончания = Макс(НачалоДня(Дата1), НачалоДня(Дата2));
Возврат ?(ВключаяГраницы, 1, 0) + (ДатаОкончания - ДатаНачала) / 86400
−98
Если НоменклатураКонтрагентов.Наличие=Перечисления.ДаНет.Да тогда
....
Создан новый элемент перечисления "ДаНет" на который ссылается измерение регистра сведений. Джордж Буль продолжает медленно крутиться...
−99
Процедура ДвиженияПоРегистрамНесортированнаяПродукция(РежимПроведения, СтруктураШапкиДокумента, ТаблицаПоПродукции, Отказ, Заголовок);
Если Не Отказ Тогда
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ОтчетПроизводстваЗаСменуПродукция.Количество КАК Количество,
| ОтчетПроизводстваЗаСменуПродукция.Номенклатура,
| ОтчетПроизводстваЗаСменуПродукция.ХарактеристикаНоменклатуры
|ИЗ
| Документ.ОтчетПроизводстваЗаСмену.Продукция КАК ОтчетПроизводстваЗаСменуПродукция
|ГДЕ
| ОтчетПроизводстваЗаСменуПродукция.Ссылка = &Ссылка
| И ОтчетПроизводстваЗаСменуПродукция.Номенклатура.АС_УчетНесортированнойПродукции = &ФлагДа";
Запрос.УстановитьПараметр("ФлагДа", Истина);
Запрос.УстановитьПараметр("Ссылка", Ссылка);
Результат = Запрос.Выполнить().Выгрузить();
НаборДвижений = Движения.АС_НесортированнаяПродукцияНаСкладах;
Если Результат.Количество()>0 Тогда
Для Каждого Стр ИЗ Результат Цикл
НоваяСтрока = НаборДвижений.Добавить();
НоваяСтрока.ВидДвижения = ВидДвиженияНакопления.Приход;
ЗаполнитьЗначенияСвойств(НоваяСтрока,Стр);
НоваяСтрока.Период = Дата;
НоваяСтрока.Регистратор = Ссылка;
КонецЦикла;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Нужно больше параметров! Иначе ты не адинэсник, а полное ничтожество. (Это не результат легаси, там реально скопипащено ПЯТЬ процедур с одинаковыми параметрами, из которых используется только "Отказ", да и то как видим - через заднепроходное отверстие)
−98
ВЫБОР
КОГДА МЕСЯЦ(НДФЛСведенияОДоходах.ДатаПолученияДохода) = 1
ТОГДА "01 Январь"
КОГДА МЕСЯЦ(НДФЛСведенияОДоходах.ДатаПолученияДохода) = 2
ТОГДА "02 Февраль"
КОГДА МЕСЯЦ(НДФЛСведенияОДоходах.ДатаПолученияДохода) = 3
ТОГДА "03 Март"
КОГДА МЕСЯЦ(НДФЛСведенияОДоходах.ДатаПолученияДохода) = 4
ТОГДА "04 Апрель"
КОГДА МЕСЯЦ(НДФЛСведенияОДоходах.ДатаПолученияДохода) = 5
ТОГДА "05 Май"
КОГДА МЕСЯЦ(НДФЛСведенияОДоходах.ДатаПолученияДохода) = 6
ТОГДА "06 Июнь"
КОГДА МЕСЯЦ(НДФЛСведенияОДоходах.ДатаПолученияДохода) = 7
ТОГДА "07 Июль"
КОГДА МЕСЯЦ(НДФЛСведенияОДоходах.ДатаПолученияДохода) = 8
ТОГДА "08 Август"
КОГДА МЕСЯЦ(НДФЛСведенияОДоходах.ДатаПолученияДохода) = 9
ТОГДА "09 Сентябрь"
КОГДА МЕСЯЦ(НДФЛСведенияОДоходах.ДатаПолученияДохода) = 10
ТОГДА "10 Октябрь"
КОГДА МЕСЯЦ(НДФЛСведенияОДоходах.ДатаПолученияДохода) = 11
ТОГДА "11 Ноябрь"
ИНАЧЕ "12 Декабрь"
КОНЕЦ
Конвертация