リーダブルコードを読んで(さらっと要約)
はじめに
エンジニア1年目、案件のタスクをこなしている中で、githubでのレビューをしていただく機会が多くあります。
自分の中で、無我夢中で書いたコードをレビューいただくと、考えもしなかったご指摘をいただくことがありました。
どういう観点で見ているのだろう、なぜその発想ができるのだろう、と疑問に思っていたので、その上長にお伺いしたところ、その答えの一つが「リーダブルコード」にありました。
ここでは、自分が今度どういうことに気をつけようか、ということをメモ程度に記載していきます。
大枠
この本では、「読みやすいコードを書く為」の技術が詰まっております。
その中で大きく分けると下記の3つでした。
- 表面上の改善
- ループ、ロジックの改善
- コードの再構成
一つずつ、記載していきます。
表面上の改善
「わかりやすく、見た目が綺麗なコードを書くこと」
読みやすいコードって何か?と問われたときに、そのコードが分かりやすいかどうか、につきるので、変数の名前をわかりやすくしたり、読みやすいようにインデントを整えたりすることが大事になります。
わかりやすいか、の判断基準は、相手が読みやすいかどうか、なのですが、数ヶ月後の自分が同じコードを見た時に分かりやすいかどうか、を考えた方がわかりやすいようです。
ループ、ロジックの改善
「ネストを浅くする」
読みにくくなる原因の一つは、ネストが深くなり、読み解きづらくなることです。
そのネストを浅くする、わかりやすくするために、ガード節を使って早期リターンをすることが大事なようです。
ガード節にも、if文の早期リターン(if...continue)、関数の早期リターン(if...return)などがある。
また、if文などの式をわかりやすくするために、
説明変数 = 変数をわかりやすい名称に入れ替える
要約変数 = 式自体をわかりやすい変数に入れ替える
などを行うことも推奨されています。
コードの再構成
「無関係の下位問題をなくす」
一つ一つのメソッドが行うことを、1文で説明できるかどうか、できないのであれば分解することができる余裕がある、とも言い換えることができます。
しっかりと口語訳できることが、わかりやすいコードであることと同意義かと思うので、ここら辺も意識していきたいです。
さいごに
さらっと記載しましたが、では具体的にどうするべきか、を考えるのが大事かと思います。
業務の中で、「これはリーダブルコードで学んだことが活かせている」、と思っとことがあれば、また改めてまとめていきたいと思います。
Discussion