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

54 просмотра

правильно

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

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта