if (condition) { return A; } else { return B; y return condition ? A : B; / it-юмор :: geek (Прикольные гаджеты. Научный, инженерный и айтишный юмор)

it-юмор geek 
if (condition) { return A;
} else { return B;
y
return condition ? A : B;,it-юмор,geek,Прикольные гаджеты. Научный, инженерный и  айтишный юмор
Подробнее
if (condition) { return A; } else { return B; y return condition ? A : B;
it-юмор,geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор
Еще на тему
Развернуть
return if (condition) A else B
SmallKino SmallKino 30.03.201912:39 ответить ссылка -1.8
Дружная команда рубистов
Ramlz Ramlz 30.03.201914:26 ответить ссылка -0.4
Подержи мое пиво, в питоне еще более уебанский синтаксис.
A condition	В
Если condition односоставной, иначе ебучая лапша
компилятору глубоко похер на это все. с его точки зрения все эквивалентные конструкции будут преобразованы в то же самое. хот 10 способов это написать выдумай. это делается чисто для читабельности кода.
и тут в тред врывается голанг :-(
ussser ussser 30.03.201913:09 ответить ссылка -0.9
return a if condition;
return b;

А тернарный оператор - не лучшая практика, у него плохая расширяемость и читаемость. Можно использовать только там, где будет ровно два варианта и расширения не предусматривается.
Например: return $err ? "Error: $err" : "OK";
Hellsy Hellsy 30.03.201913:48 ответить ссылка -0.2
Синтаксический сахар по определению ставит в приоритет удобство применения, а не универсальность. Для своих задач замечательная у него читабельность.
return condition
? 'ok'
: 'error'

И все ок с тернарным оператором, просто правильно расставляй.
symfic symfic 31.03.201900:04 ответить ссылка 0.2
Ты это вообще к чему? Я пишу о том, что тернарный оператор удобен только там, где не ожидается больше двух исходов. Если есть хоть небольшой шанс, что список условий и вариантов возврата вырастет, то лучше тернарным оператором не пользоваться, чтобы потом не переписывать.
Hellsy Hellsy 31.03.201919:40 ответить ссылка 0.0
Скорее наоборот. Отказываться надо если есть практически гарантия, что через 10 минут ты полезешь в этот кусок кода и будешь что-то дописывать. Преждевременная оптимизация в виде усложнения читабельности с закладкой на будущее - прямое нарушение YAGNI.
Но вообще говоря это далеко не самый проблемный вопрос, чтобы сидеть и думать "а надо ли". Думать дольше, чем переделать.
В идеальном мире это было бы так. Но я много раз видел, как тернарные операторы начинали разрастаться по схеме
return condition ? a : (condition2 ? (condition 3 ? b : c) : condition4 ? ... )...)
Hellsy Hellsy 31.03.201922:29 ответить ссылка 0.0
И тут в игру врывается гремучее узконаправленное говно мамонта:
CHOOSE CASE smth
CASE 34 TO 99, IS > 559, 1, 5, 33
x = 'fuck yeah!'
CASE ELSE
x = 'nani?!'
END CHOOSE
Иисyc Иисyc 30.03.201913:52 ответить ссылка -1.4
Я лично встречал:
if (condition1 == true) // и ещё версия с условием if (condition1 == condition2)
{
return true;
}
else
{
retrun false;
}
Байр Байр 30.03.201916:19 ответить ссылка 0.7
Классический индусский код
Tril Tril 30.03.201916:59 ответить ссылка 0.5
Такое бывает, когда там раньше была дополнительная логика и/или вызовы логгирования, но потом их потрёрли, а код рефакторить не стали.
В том конкретном месте, где я это видел - это точно был изначальный код.
IfThen(condition, some_true, some_false); Делфи передаёт привет
Darlok Darlok 01.04.201916:12 ответить ссылка -0.1
Ууух бля, я вспомнил свои ущербные конечные автоматы на Verilog-е . Они все из таким макарон состоят.
vova_bo vova_bo 02.04.201900:23 ответить ссылка 0.0
Только зарегистрированные и активированные пользователи могут добавлять комментарии.
Похожие темы

Похожие посты
Number
Number
Window Gooooooooooale
1234 5^
8 9 10
f Felix Project