20代エンジニアのアウトプットブログ

20代エンジニアのブログ。 主に読んだ本のアウトップ用。

「リーダブルコード」感想

エンジニア必読書と言われている「リータブルコード」を読みました。 社会人2年目の時に一度読みましたが、当時はコーディングする機会少なく、ほぼ内容を忘れてしまっていました。 社会人4年目に突入し、コーディングする機会も少し増えてきて、綺麗でわかりやすいコードを書きたいと思いがでてきたので改めて読んでみました。

www.oreilly.co.jp

読んでいた中で、特に意識していこうと思ったことを殴り書きします。

第一部 表面上の課題

  • 変数に情報を詰め込む
  • コードの見やすさを意識する。 縦列を揃える / ヘルパーメソッドを作成する / コードを段落に分割する等。
  • コメントは、読み手の立場になって「考えを記録する」。 補助的なコメントは不要。

第二部 ループとロジックの単純化

  • if分の条件は、調査対象を左辺にし、なるべく肯定文を使う。
  • ループ文では、なるべく早く関数から返す
  • ネストは浅くすることを意識する
  • 説明変数・要約変数を使って巨大な式を分割する。
  • 変数のスコープが広いと、どこで使われているかわからず常に意識しないといけないので、なるべくスコープを縮める。

第三部 コードの再編成

  • 小さな下位問題は抽出して別の関数にする → 汎用的に使える / 修正・テストがしやすくなる などの恩恵。
  • タスクをなるべく小さくして、1度に1つのタスクをするようにする。
  • 「最も読みやすいコードは、何も書かれていないコード」

まとめ

これまでの業務でのコーディングは、現場のコードを見て、なんとなく形を似せて自分の考えを反映させずにコーディングしていました。 そのため、後から見返しても「なんでこう書いたんだっけ?」みたいなことが多々ある状況でした。他の人が読んだら尚更わからないですね。

これからは、コードを書く上で大切な原則「コードは理解しやすくならなければいけない」というのは、常に意識してコーディングしていきたいと思いました。