169 похожих чатов

Редко использую некоторые логические функции, поэтому вначале немного подтупливаю, когда

надо их вспомнить )
Гляньте, правильно ли я сокращаю сравнение?
if AHaveAccess and (Sec and ASecValue > 0) or not AHaveAccess and (Sec and ASecValue = 0) then
заменил на
if AHaveAccess xor (Sec and ASecValue = 0) then

15 ответов

38 просмотров

правильно

заменяй условия на более простую форму "на бумажке" и получится: if (A and B) or (!A and !B), а дальше арифметика

я вообще такие "оптимизации" стараюсь не использовать ибо вредит чтению кода. Вот как пример, буквально сегодня утром писал этот кусок, вместо этого можно было написать одну строчку, как я обычно и делаю: Result := not (Param.DrawOnlySelectedArrow and not Selected); но тогда оно станет плохо читаться (в данном конкретном случае).

Alexey Kulakov
Result:= not Param.DrawOnlySelectedArrow or Select...

Да вариантов море - но нормально читаемый на скрине.

Alex-Egorov Автор вопроса
Александр (Rouse_) Багель
screenshot я вообще такие "оптимизации" стараюсь не использов...

Тут просто у тебя сокращение сложночитаемой - два not, а вот если написать: Result := Selected or not Param.DrawOnlySelectedArrow; То читабельно

Alex Egorov
Тут просто у тебя сокращение сложночитаемой - два ...

ну кстати да, чето я видимо утром мало кофе выпил...

Igor
if Selected then Result := True else Result :=...

блин, пока печатал ты пофиксил :)

Стикер

Александр (Rouse_) Багель
screenshot я вообще такие "оптимизации" стараюсь не использов...

вот именно это я имел ввиду, когда недавно говорили про "оптимизацию xor'ами"

Alex-Egorov Автор вопроса

Я тоже стараюсь скобками пользоваться, но конкретно тут появятся двойные скобки справа у условий и читабельность становится хуже: if (AHaveAccess and (Sec and ASecValue > 0)) or (not AHaveAccess and (Sec and ASecValue = 0)) then Тут уже надо взглядом отсчитывать эти скобки, по крайней мере для меня это не удобно

Alex Egorov
Я тоже стараюсь скобками пользоваться, но конкретн...

ну, форматирование с переносом строк тоже никто не отменял )

Alex-Egorov Автор вопроса

Похожие вопросы

Обсуждают сегодня

how would ypu guys protect your public groups (with more than 1k members) without restricting user's freedom?
Mat Lumin
24
Пятничное. Немножко длинно объясню постановку задачи и потом задам вопрос, не требующий срочного решения (я уже решил по-другому). Есть пару сотен хостов на Бубунте, туда мо...
Д. П.
5
а что это все вдруг так рьяно стали обезьяну продвигать? вроде ещё недавно все в один голос вопили, что она сырая.... неужели Розыч ошибся, сделав ставку на лазарь?
Iluha Companets
25
Зачем вы пишите на ассемблере?
Florson In
85
ты ж не будешь его сам придумывать не зная алгоритма его появления?
Aiwan \ (•◡•) / _bot
42
как максимально эффективно сравнить две asciiz строки на ассемблере?
Vi Chapmann
80
Warning Failed to apply the selected architecture x86_64-pc-windows-msvc. Got ["x86"]. Error Unsupported architecture: x86_64-pc-windows-msvc кто-нибудь знает, что с ldc2? вот...
quantumde1 Зубенко
3
всем привет, как можно получить количество символов в строке в Fasm x86?
.
24
2 байта генерирует?
int 💳 𝙖𝙞𝙧 𝙗𝙞𝙜 𝙗𝙤𝙗 🔫 check bio / spam block / AFK / nohello.com / GMT+3
12
У меня внезапно вопрос по эликсиру (вдруг кто в курсе). Я узнал о пакете на hex.pm: https://hex.pm/packages/age Как я могу найти репозиторий пакета, чтобы ознакомиться с исход...
Danil Zagoskin
25
Карта сайта