Java
可読性
新人向け
三項演算子
条件演算子

三項演算子(?:)どうやって書いていますか

三項演算子(?:)は可読性が上がる下がるという議論があります。

私は書き方次第で、読みやすいと感じています。

可読性の話はよくあるので、実際どう頭に馴染ませるかという話を書きます。


三項演算子(?:)は、読みやすいけど、書きづらい?

可読性が高い三項演算子の書き方を後輩に伝えたところ、(言語はJava)

「前に調べて、確かに見やすいんですけど、書くときわすれちゃうんですよね。毎回調べて考えて書きます。」

と言われたので、自分がソースを書くときにどのように書いているか話しました。

それなりに良かったみたいなので記事にします。

私は、以下の感じでコーディングしていますが、皆さんいかがでしょうか。


例: 10以上だったらAプランで、5上だったらBプランで、それ以下ならCプラン

いろいろ書き方はありますが、コーディングスタイルとしては例えばこんな風にかきますね。

String plan = count > 10 ? "A" :

count > 5 ? "B" :
/* other*/ "C" ;

とか

String plan = count > 10 ? "A" 

: count > 5 ? "B"
: /* other*/ "C" ;

上の書き方は、「:」が行の最後にあり、「まだ条件が次の行に続くぜ」感があって、

私は好きなのですが、よく見かける書き方は下ですね。


唱えながらコーディング

私は、次のようには頭で唱えながら書きます。括弧内を頭の中で唱えています。

一度慣れると自然使えるようになります。

この唱えながらコーディングするのを、3,4回くらい繰り返すと、

それ以降は脳ミソが三項演算子の文法に費やす時間が少なくなり、

自然にコーディングできるようになります(・・・と思います)。

(プランは) count > 10 (の場合は?) "A" (・・・で)

     count > 5 (の場合は?) "B" (・・・で)
(それ以外の場合は、) "C" ;

実際に書く文字/読む文字
頭で唱える言葉

?
の場合は?

:
・・・で、

/* other */
それ以外の場合は、


雑感


  • 唱えながらコーディングに慣れると三項演算子の文法を頭で考えなくて済む。頭はもっと全体の構成とかそういったことに使ったほうがいい。

  • 唱えながらコーディングをするとコーディングにリズムができる。新人さんにはいいかもしれない。

  • 多分コーディングが早い人はこんなことやらなくても自然にコードが浮かんできてる。