Обязательно ли заключать в этот оператор весь оператор троичного оператора в скобках?

Например, в следующем заявлении,

$class = (  is_array($tagClasses) ? 'class="'.implode(" ",$tagClasses).'"' : ''  );

внешние скобки предназначены только для удобства чтения или действительно имеют какое-то другое назначение?

Я думаю, что это только для удобочитаемости и эстетики кода, если только у вас нет других вещей, происходящих в том же самом утверждении, в котором вы должны отделить эту часть выражения и продиктовать то, что выполняется первым.

Но я никогда не видел подобное утверждение без заключающих в скобки слов и думал об этом в течение достаточно долгого времени. Поэтому этот вопрос.

1

Решение

Я предполагал, что первоначальная цель была читабельность, или, возможно, разработчик просто следовал Стандарту кодирования. Хотя обтекание и отступ помогают в удобочитаемости, а не в добавлении лишних скобок. Вот так для примера:

$class = is_array($tagClasses)
? 'class="' . implode(" ", $tagClasses) . '"'
: '';

Когда вы определенно хотите добавить () вокруг троичного оператора, это когда вы вкладываете один в другой (что в любом случае нехорошо), или вы можете поместить операнды оператора между () для удобства чтения, если у вас есть сложные выражения там.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]