Показать сообщение отдельно
Старый 25.10.2016, 00:37   #8
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Присвоение в условии

Я не сторонник усложнений, поэтому over-engineering присекаю на корню, но и супер-"упрощений" - тоже избегаю, т.к. это уходит в другие крайности, где у нас всякие coffeescript'ы изобритают и т.п. чушь.
Если писать с вызовом функции:
if (bar baz()) 
И далее другой разраб прибегает, и что-то в функцию вставляет, с ожиданием что она ведь при тесте вызывается - значит всё ок.
Затем прибегает третий, и вставляет условие:
if (foo && bar baz()) 
И тут вызов baz'а, стал не стабильным, при этом зависит от пожеланий foo. Третий разраб давай думать, первый скорее всего тоже.
Ну тут они разобрались, и вынесли вызов функции и условие, либо содержимое функции.

Так вот, усложнил ли код первый разраб поставив всё в одну строку? Нет, но усложнил жизнь в будущем.
При этом разница в чтении ну чертовски мизерная, и читаемость двух строк не снижается нифига.

Я стараюсь придерживаться простоты - делаешь дело, не отвлекайся: вызов функции с присвоением - это одно дело. Проверка результата - это другое.
(Offline)
 
Ответить с цитированием
Эти 4 пользователя(ей) сказали Спасибо moka за это полезное сообщение:
ABTOMAT (25.10.2016), impersonalis (25.10.2016), Randomize (25.10.2016), St_AnGer (25.10.2016)