![]() |
|
||||||||||
|
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Вот именно, а ясность куда важнее краткости. Вариант с || ещё куда ни шло, но выглядит не очень (result = result), а с ||= вообще не у всех в мозгу сходу распознаётся.
|
|
|||||
|
Цитата:
Лучше вот так и привести к одному типу, на всякий Выглядит откровенно плохо. Потому что if (!result) устоявшееся выражение и среднестатистический кодер понимает, что оно значит. С || и ||= чуть сложнее на первый взгляд и нужно знать что логический оператор "или" возвращает не логический тип Boolean по многим заблуждениям (вот тут то все и валятся!), но это настолько устоявшееся выражение в других языках (особенно с теми, у которых есть statement modifiers), что мне удивительно его игнорирование здесь.
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Цитата:
|
|
|||||
|
Цитата:
Я за использование всех возможностей языка, если они не вредят. В чем польза ||= против if? Её банально проще читать, в ней нельзя ошибиться и даже код получается короче. Что видит программист? Условие. Он смотрит на условие, он смотрит на отрицание, смотрит на правую часть выражения и сравнивает переменные. Он обязан это сделать читая код. Когда пишешь код – здесь можно ошибиться опечаткой, особенно если язык не требует явного введения переменных. Пример, бесспорно, дурацкий. Суть в том, что внутри if может быть что-то другое и это другое требует проверки программистом при чтении/дебаге. Оператор ||= же делает только одну из всех возможных функций: инициирует переменную значением, если она ещё не инициирована. Больше она ничего делать не может. Здесь нельзя опечататься в условии или как-то напортачить, здесь короткая запись, здесь нет повторения имени переменной – а это DRY, это хорошо. Операторы и есть основа языка. Использование их в угоду явному ветвлению кода и есть простота. То, что разрабы встречают это реже не повод не использовать инструмент, который лучше. Из за таких маленьких улучшений код становится легче и проще.
__________________
Тут мужик танцует и поёт про флэш |
![]() |
![]() |
Часовой пояс GMT +4, время: 11:11. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|