- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
if (false == very_long_function(arg1, arg2, ...))
{
if (false == very_long_other_function(even_more_args)
{
do_something();
}
else
{
do_something_else();
}
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+142
if (false == very_long_function(arg1, arg2, ...))
{
if (false == very_long_other_function(even_more_args)
{
do_something();
}
else
{
do_something_else();
}
}
И вот такими многоэтажками забит весь проект.
−180
try:
ip_port = sys.argv[1].split(':')
ip = ip_port[0]
if len(ip_port) == 2:
port = ip_port[1]
elif len(ip_port) == 1:
port = "80"
else:
raise IndexError
except IndexError:
print "Usage: %s <target ip:port>" % sys.argv[0]
sys.exit(1)
Эксплоиты. Неиссякаемый источник ГК.
Я бы сделал так:
try:
ip_port = sys.argv[1].split(':')
ip = ip_port[0]
try:
port = ip_port[1]
except IndexError:
port = 80
except IndexError:
print "Usage: %s <target ip:port>" % sys.argv[0]
sys.exit(1)
+144
function IsIntStr(const str:string):boolean; // Для проверки, состоит ли логин целиком из цифр.
var // TryStrToInt не подходит.
p:pchar;
begin
result:=false;
p:=pchar(str);
if p^=#0 then exit;
while p^ <> #0 do
begin
if not (p^ in ['0'..'9']) then
exit;
p:=charnext(p) ;
end;
result:=true;
end;
Showmessage(IntToStr(4324324233213564)); // а хуйца не желаете?
+144
FYears.Items.Clear;
for i := 10 downto 1 do
FYears.Items.Add(IntToStr(Year - i));
FYears.Items.Add(IntToStr(Year));
for i := 1 to 10 do
FYears.Items.Add(IntToStr(Year + i));
Заполнение итемов номерами лет
Сначала добавим 10 лет до даты Х
Потом дату Х
Потом 10 лет после даты Х
RAD Studio XE8 FMX.Calendar.Style.pas
+143
if TPlatformServices.Current.SupportsPlatformService(IFMXLocaleService, IInterface(LocaleService)) then
S := LocaleService.GetLocaleFirstDayOfWeek
else
S := '6';
FFirstDayOfWeekNum := Ord(S.Chars[0]) - Ord('0');
{$IFDEF MACOS}
FFirstDayOfWeekNum:= Ord(S.Chars[0]) + Ord('0');
{$ENDIF}
{$IFDEF ANDROID}
FFirstDayOfWeekNum := FFirstDayOfWeekNum - MondayOffset;
{$ENDIF}
Это FireMonkey! FMX.Calendar.Style.pas! И это реально работает.
Главное, что всё очевидно.
+141
public function createAdvertApart () { // ВНИМАНИЕ! Видимость функции protected
// проверяем max размер допустимый к загрузке
if ( $_files[size] > 3000000 )
$error[] = "Файл превышает размер три мегабайта";
Прислали вместе с резюме пример кода, а там ...
+144
IntToStr(StrToInt(VarToStr()))
Сегодня пришла мадам и спросила почему это не работает. Сказали что бы так больше не ...кодила.
+144
Шёл 2015 год, а SQLite на ведре так и не научился сравнивать не ASCII'шные строки без учёта регистра...
Или это у меня руки из жопы растут?
+141
func (db *DB) CountResults(filial []int64, device []int64, workplace []int64, from time.Time, to time.Time, splits bool, skip int64) (res []*AvgResults, err error) {
var query string
var rows *pgx.Rows
_, err = db.Exec("SET LOCAL TIME ZONE 'Asia/Yekaterinburg';")
if err != nil {
return nil, err
}
switch {
case splits:
query = `WITH data AS (SELECT "IndicatorResultValue"."IndicatorId", "qm"."Session"."Blocked", "qm"."Result"."SessionId" AS "SessionId", "qm"."DeviceIPRangeType"."Number" AS "RangeType", "qm"."DeviceIPRangeType"."Id" AS "RangeTypeId", "qm"."BranchWorkPlace"."Id" AS "WorkPlaceId", "DeviceIPRange"."BranchId", date("Datetime") as "Date"
FROM qm."Result"
LEFT OUTER JOIN "qm"."Device" ON ("Result"."DeviceId" = "Device"."Id")
LEFT OUTER JOIN "qm"."BranchWorkPlace" ON ("BranchWorkPlace"."Id" = "Device"."WorkPlaceId")
LEFT OUTER JOIN "qm"."Session" ON ("Result"."SessionId" = "Session"."Id")
LEFT OUTER JOIN "qm"."IndicatorResultValue" ON ("Result"."IndicatorResultValueId" = "IndicatorResultValue"."Id")
LEFT OUTER JOIN "qm"."ResultValue" ON ("IndicatorResultValue"."ResultValueId" = "ResultValue"."Id")
LEFT OUTER JOIN "qm"."DeviceIPRangeType" ON ("DeviceIPRangeType"."Id" = "Session"."DeviceIPRangeTypeId")
LEFT OUTER JOIN "qm"."DeviceIPRange" ON ("Session"."DeviceIPRangeId" = "DeviceIPRange"."Id")
FULL OUTER JOIN "queue"."Branches" ON ("DeviceIPRange"."BranchId" = "Branches"."Id" AND (0 = any ($1::int8[]) OR "Branches"."Id" = any($1::int8[])))),
data1 AS (SELECT COUNT(DISTINCT(data."SessionId")) AS "Count",
"BranchId",
CASE WHEN "RangeTypeId" < 3 THEN 0
ELSE "RangeTypeId"
END,
"Date"
FROM data
WHERE (0 = any($2::int8[]) OR "RangeType" = any($2::int8[]))
AND (0 = any ($1::int8[]) OR "BranchId" = any($1::int8[]))
AND (0 = any($3::int8[]) OR "WorkPlaceId" = any($3::int8[]))
AND "Date" BETWEEN $4::timestamptz AND $5::timestamptz
AND NOT "Blocked"
GROUP BY "BranchId", CASE WHEN "RangeTypeId" < 3 THEN 0 ELSE "RangeTypeId" END, "Date"),
data2 AS (SELECT "Id", "Name", date("d") AS "Date" FROM
queue."Branches"
CROSS JOIN generate_series($4::timestamptz, $5::timestamptz, $6) as "d"
WHERE (0 = any ($1::int8[]) OR "Id" = any($1::int8[])) ),
data3 AS (SELECT "Count" AS C, 0 AS Avg, data1."Date", data1."RangeTypeId", data1."BranchId"
FROM "data1" GROUP BY "data1"."Date", "Count", "data1"."BranchId", "data1"."RangeTypeId"),
data3_1 AS (SELECT "qm"."DeviceIPRangeType"."Id" FROM "qm"."DeviceIPRange"
RIGHT OUTER JOIN "qm"."DeviceIPRangeType" ON ("qm"."DeviceIPRange"."DeviceIPTypeId" = "qm"."DeviceIPRangeType"."Id")
WHERE (0 = any ($1::int8[]) OR "DeviceIPRange"."BranchId" = any($1::int8[]))
GROUP BY "qm"."DeviceIPRangeType"."Id"),
data4 AS (SELECT "Id", "Name", date("d") AS "Date" FROM
"qm"."DeviceIPRangeType"
CROSS JOIN generate_series($4::timestamptz, $5::timestamptz, $6) as "d"
WHERE "Id" > 2 AND (0 = any($2::int8[]) OR "Number" = any($2::int8[])) AND "Id" IN (SELECT "Id" FROM data3_1)),
data5 AS (SELECT coalesce(c, 0) AS C, coalesce(avg, 0) AS Avg, coalesce("data2"."Date", "data3"."Date") AS date, "data2"."Name", "data3"."RangeTypeId" FROM
data2
FULL OUTER JOIN data3 ON ("data3"."BranchId" = "data2"."Id" AND "data3"."Date" = "data2"."Date"))
SELECT array_agg(coalesce(c, 0) ORDER BY coalesce("data5"."date", "data4"."Date")) AS "Count",
array_agg(coalesce(avg::double precision, 0::double precision) ORDER BY coalesce("data5"."date", "data4"."Date")) AS "Avg",
array_agg(coalesce("data5"."date", "data4"."Date") ORDER BY coalesce("data5"."date", "data4"."Date"))::timestamptz[] AS "Date",
coalesce("data5"."Name", "data4"."Name") AS "Name" FROM data5
FULL OUTER JOIN data4 ON ("data4"."Id" = "data5"."RangeTypeId" AND "data5"."date" = "data4"."Date")
WHERE coalesce("data5"."Name", "data4"."Name") IS NOT NULL
GROUP BY coalesce("data5"."Name", "data4"."Name")
ORDER BY coalesce("data5"."Name", "data4"."Name")`
default:
query = `WITH data AS (SELECT "IndicatorResultValue"."IndicatorId", "qm"."Session"."Blocked", "qm"."Result"."SessionId" AS "SessionId", "qm"."DeviceIPRangeType"."Number" AS "RangeType", "qm"."DeviceIPRangeType"."Id" AS "RangeTypeId", "qm"."BranchWorkPlace"."Id" AS "WorkPlaceId", "DeviceIPRange"."BranchId", date("Datetime") as "Date"
FROM qm."Result"
LEFT OUTER JOIN "qm"."Device" ON ("Result"."DeviceId" = "Device"."Id")
LEFT OUTER JOIN "qm"."BranchWorkPlace" ON ("BranchWorkPlace"."Id" = "Device"."WorkPlaceId")
LEFT OUTER JOIN "qm"."Session" ON ("Result"."SessionId" = "Session"."Id")
LEFT OUTER JOIN "qm"."IndicatorResultValue" ON ("Result"."IndicatorResultValueId" = "IndicatorResultValue"."Id")
...
Код для БД на go
+141
public static void main(String[] args)
{
int[] array = {1,2,3};
permure(array, array.length);
}
private static void permure(int[] arr, int size)
{
if(size < 2){
System.out.println(Arrays.toString(arr));
}else {
for(int k = 0; k < size; k++){
swap(arr, size - 1, k);
permure(arr, size - 1);
}
}
}
private static void swap(int[] arr, int index0, int index1)
{
int tmp = arr[index0];
arr[index0] = arr[index1];
arr[index1] = tmp;
}
Изначально задумывалось чтобы код генерил все возможные варианты перестановок чисел в массиве,но делает ровно половину перестановок.