Re[2]: if (a == true)
От: Alekzander  
Дата: 03.09.24 10:50
Оценка:
Здравствуйте, kov_serg, Вы писали:

A>>Сразу оговорюсь, что вопрос больше не про философию программирования, а про психологию программистов.

_>if (a===true)

Надо было уточнить, что речь про ЯП без === (я так понимаю, === имеет смысл только для нестрого-динамической типизации).

A>>Когда я давным-давно впервые увидел в коде сабж, то решил, что автор издевается (особенно без йода-сравнений). Но так действительно пишут, и нередко. В настоящий момент я думаю, что это глупый способ взять худшее из обоих миров.

_>тогда лучше писать
_>if (a!=false)

Это хуже йодинга: смысл перестановка меняет незначительно лишь, а инверсия страшная тут.

_>А кто сказал что а имеет тип bool ?


Если тип не bool, они в таких случаях пишут каст плюс == true.

A>>Так вот, у меня появилась гипотеза, что те, кто пишет if (service.IsStarted == true), просто слышали звон. Останавливаются на половине, пытаются изображать строгость, при этом не расписывая состояния для каждого кейса.

_>А если service.IsStarted это функция или перечисление. А так компилятор уматерит если что. А вообще это просто шаблонное поведение если в переменной такое значение то делаем то-то. А оптимизировать это дополнительное действие — лень. Более того тот кто писал вообще может быть с булевой алгеброй не знаком, и это ему совершенно не мешает.

Боюсь, не совсем понимаю. service.IsStarted это почти наверняка функция (аксессор). И?
I'm a sewer mutant, and my favorite authors are Edgar Allan Poo, H.G. Smells and George R.R. Martin.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.