2014-01-13 3 views
2

В течение прошлого года я привык использовать эквивалентность false вместо отрицания в условных операторах и логических назначениях.Условия: Отрицание или эквивалентность false?

Например, я хотел бы использовать:

- if(item.IsEnabled == false) 
- return x == false; 

вместо

- if(!item.IsEnabled) 
- return !x; 

Причина этого заключается в том, что я считаю, отрицанием труднее увидеть визуально и легче ввести случайные логические ошибки. Я считаю, что, имея только «is» вместо «is» и «not», код чтения должен быть проще (читаемость).

Например:

если this.Enabled ложно и this.Visible

вместо

, если не this.Enabled и this.Visible

Хотя я думаю это работает лучше всего для меня, я мог бы просто убедить себя в этом. Конечно, это не имеет значения в моих частных проектах; что лучше всего подходит для меня. Однако в проектах FOSS или профессиональной работе я, очевидно, хотел бы использовать то, что на самом деле лучше, и быть в состоянии отстаивать свою позицию по этому вопросу. Поэтому я хочу спросить: Каков наилучший способ приблизиться к этому в целом?

Спасибо!

ответ

1

Они в точности эквивалентны, поэтому нет проблем с оптимизацией или что-то в этом роде.

Единственными определяющими факторами являются читаемость и личные предпочтения.

Что касается ...

Я бы, очевидно, хотят, чтобы использовать то, что на самом деле является лучшим и быть в состоянии защитить свою позицию по этому вопросу

... звучит для меня, как вы способный защитить вашу позицию довольно хорошо. Просто прочитайте то, что вы написали в вопросе :)

Смежные вопросы