どちらがわかりやすい?

ケース1:if文

if( isVisible ) {
    a = 10;
} else {
    a = 0;
}


ケース2:3項演算子

a = isVisible ? 10 : 0;


個人的にはこのような代入の場合、積極的に3項演算子を使うべきだと思う。
理由としては、3項演算子を使っていてもそこまで複雑ではなく、むしろ変数aに対してどのような操作を行うのかが明確に記述されているためである。
?以前に複数の条件式がある場合は積極的に括弧を付ければ、より見やすくなると思う。

a = (num > 0 && isVisible) ? 10 : 0;


人によっては、一般的ではないから3項演算子は使わない方が見やすいというが、必要に応じて3項演算を利用する方が、スマートで読みやすいプログラムになると自分は思うのだが、いかがだろうか。


(9/12追記)
正確には、?:は条件演算子という。条件演算子三項演算子の一種。
参考 -> http://ja.wikipedia.org/wiki/%E6%9D%A1%E4%BB%B6%E6%BC%94%E7%AE%97%E5%AD%90