- 1
some_variable = (some_condition && some_other_condition) ? true : false
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−131.4
some_variable = (some_condition && some_other_condition) ? true : false
Иногда встречаю ГК подобный этому но реализованный в виде case..when. Еще более впечатляет :)
Кстати, в реальных проектах встречается довольно часто :)
[C#]
bool some_variable = (some_condition && some_other_condition) ? true : false? true : false? true : false? true : false? true : false? true : false? true : false? true : false? true : false? true : false? true : false? true : false? true : false? true : false? true : false? true : false? true : false? true : false? true : false? true : false? true : false? true : false? true : false? true : false? true : false? true : false? true : false? true : false? true : false? true : false? true : false? true : false? true : false? true : false? true : false? true : false? true : false? true : false? true : false? true : false? true : false? true : false? true : false? true : false? true : false? true : false? true : false? true : false? true : false? true : false? true : false? true : false? true : false? true : false? true : false? true : false? true : false? true : false? true : false? true : false? true : false? true : false? true : false? true : false? true : false? true : false? true : false? true : false? true : false;
[/C#]
OBJECT* CreateObject(unsigned size)
{
/* ... */
this->m_size = (size == DEFAULT)? DEFAULT_SIZE: size;
/* ... */
}
И ещё много где. Небесполезен, как goto, если использовать с умом.
я так делаю
if (condition) some_variable=true
или не так надо) спасибо)
но есть подозрение что не так надо
Если не важен собственно тип some_variable.
Если нужен именно boolean, делается cast. (в python'е "some_variable = bool(some_condition and some_other_condition)", в ruby (который я не знаю) вроде можно "some_variable = !!(some_condition && some_other_condition)" (тоже довольно говнисто, надо смотреть в сторону каста, но дальше TrueClass/FalseClass навскидку не нарыл))