いまさらリーダブルコードまとめ (第1章)


はじめに

今更ながらチーム内でリーダブルコード輪読会をすることになった(っていうかすることにした)ので、自分の担当分についてまとめたり感想書いたり。

第1章 理解しやすいコード

どんな内容?

  • コードは理解しやすく書かれているべきである
  • コードは、他の人が素早く理解できるようになっているべきである

読んだ感想

うんまぁそうだよね、って話なんだけど、
他の人が素早く理解できる」であろうコードを自分が書くことはなかなか難しい。
自分のレベルのプログラマーにとっては当たり前な記法でも、他の人にはそうでなかったり。
(これは自分のレベル>他人のレベルでも、その逆でも起こり得る)

後の章でも出てくるんだけど、三項演算子とか短絡評価らへんは、
人によってはすごく読みづらく感じるものなので要注意。
チーム内で、
「この書き方ならチームメンバー全員に分かりやすい」
っていう共通見解を持っていた方がいいな。
=> それってつまりコーディング規約。

例を挙げて議論してみよう

どちらが・何故読みやすい?

どちらかが必ず優れていることを示すのではなく、
「チーム内の皆がどう考えているか」
を知るのが目的。

  • ガード節の記述
1-1
int funcForPositive(int num) {
  if(num < 0) return 0;

  ...
}
1-2
int funcForPositive(int num) {
  if(num < 0) {
    return 0;
  }

  ...
}
  • ifとswitchの使い分け
2-1
if (num == 1 || num == 2) {
  someFunction(num);
} else {
  anotherFunction(num);
}
2-2
switch(num) {
  case 1:
  case 2:
    someFunction(num);
    break;
  default:
    anotherFunction(num);
}