
Всегда думал, что в программировании "правильно и неправильно" относятся к реализации алгоритма в первую очередь. В конкретном примере, для человека, не знающего язык, вариант Совы понятнее, а для знающего - наоборот хуже (потому, что ему очевидно, где в аргументах println вариант для true, а где для false).
Думаю, что по скорости исполнения, занимаемой памяти и размеру конечного бинарного кода варианты практически тождественны.
Так что практического смысла в вопросе Совы нет, а философский есть.
Думаю, что по скорости исполнения, занимаемой памяти и размеру конечного бинарного кода варианты практически тождественны.
Так что практического смысла в вопросе Совы нет, а философский есть.
раскрыть ветку (2)
Для того, что написала Сова - существует if else, а тернарные операторы используются там, где блоки is else заюзать нельзя. Это просто некорректное использование инструмента. По поводу памяти - тот способ займет больше места как минимум из-за дважды прописанной функции. И я не считаю, что тут есть что-то философское - тут ответ явно очевиден.
раскрыть ветку (1)
Про память удивило. Думал, что оптимизирующие компиляторы такой вариант вполне себе оптимизируют. Спасибо за информацию.
P.S. я, признаться, думал, что такую конструкцию, которую использовала Сова сделали взамен if..else, а не как альтернативу.
P.S. я, признаться, думал, что такую конструкцию, которую использовала Сова сделали взамен if..else, а не как альтернативу.