1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Last updated at Posted at 2018-12-30

三項演算子(?:)は可読性が上がる下がるという議論があります。
私は書き方次第で、読みやすいと感じています。
可読性の話はよくあるので、実際どう頭に馴染ませるかという話を書きます。

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

可読性が高い三項演算子の書き方を後輩に伝えたところ、(言語は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 */ それ以外の場合は、

雑感

  • 唱えながらコーディングに慣れると三項演算子の文法を頭で考えなくて済む。頭はもっと全体の構成とかそういったことに使ったほうがいい。
  • 唱えながらコーディングをするとコーディングにリズムができる。新人さんにはいいかもしれない。
  • 多分コーディングが早い人はこんなことやらなくても自然にコードが浮かんできてる。
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?