三項演算子(?:)は可読性が上がる下がるという議論があります。
私は書き方次第で、読みやすいと感じています。
可読性の話はよくあるので、実際どう頭に馴染ませるかという話を書きます。
三項演算子(?:)は、読みやすいけど、書きづらい?
可読性が高い三項演算子の書き方を後輩に伝えたところ、(言語は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 */ | それ以外の場合は、 |
雑感
- 唱えながらコーディングに慣れると三項演算子の文法を頭で考えなくて済む。頭はもっと全体の構成とかそういったことに使ったほうがいい。
- 唱えながらコーディングをするとコーディングにリズムができる。新人さんにはいいかもしれない。
- 多分コーディングが早い人はこんなことやらなくても自然にコードが浮かんできてる。