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 ответов

14 просмотров

правильно

заменяй условия на более простую форму "на бумажке" и получится: 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 Автор вопроса

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

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

На днях задумался над будущей кроссплатформенностью. Пришел к выводу, что будущее за WEB технологиями. Например Skia. Вспомнил тут Петром приводилась информация о проекте Fr...
Kirill Filippenok
20
посоны, а барьер - это примитив синхронизации или что? встречаю упоминания что это примитив
Киану Ривз
13
👋 Hey Team, Interested in the prospect of adding a Junior Developer to your crew for *FREE*? Yes, it's totally on us! We've partnered with a training center to offer a progr...
Tomás Leonangeli
1
Есть задача. Распарсить байт-строку из потока, чтобы получился plain текст. По формуле вычисляется количество байт в выборке. В этой выборке содержатся данные, которые состоят...
Basil Backend
9
меня в школе заставляют учить фронтенд, в полицию можно жаловаться?
владик
10
А замеры синтетические делал? Например альфаблендинк с масштабированием кто всех рвет? (подозреваю D2D)
Александр (Rouse_) Багель
13
Всем привет! А что, в Odoo 17 отменили для модели _log_access = False ? Ругается Оду при доступе к такой модели. Стоит добавить в модель write_date = fields.Datetime('Last M...
Max Lit
3
Есть резидентный обработчик прерываний 09h под DOS. Пока он ничего не делает. После запуска программы выяснилось, что на клавиши навигации (стрелок вверх и вниз) новый обраб...
Крутой Пацантре
2
Много вопросов задаю в последнее время, но вот ещё один... julia> @time +(1, 2) |> typeof 0.000001 seconds Int64 julia> @time +(1, 2.) |> typeof 0.000001 seconds Float64 ...
Александр
2
I don't understand why some people get surprised when they find someone using eclipse, rather than Intellij Idea. How's that surprising? (if it is surprising for you, at all)
required optional
7
Карта сайта