『リーダブルコード』を読んで、備忘録

www.oreilly.co.jp

■なぜ読んだのか

試験要員化していた私に、コーディングの機会が巡ってくることになったから。

# 読みかけの本に飽きてきたから、という理由もある

 

■読了にかかった期間・時間

累計3時間くらい。

5/23-6/4の13日間のうち、7日着手。

 

■備忘録

本書における「リーダブルコード」「より良いコード」の定義は、「第三者が理解するまでにかかる時間が短いコード」であることを、まずはおさえておきたい。
そして、「第三者」には、未来の自分も含まれている。

 

とりあえず、これなら今の自分でも心がけ次第でできそうだと思ったことを抜き出しておく。

・【P.14】ループで使う変数に説明的な名前をつける
  (例:i,j,k→ci,mi,ui)

・【P.20】変数に単位を含める
  (例:start→start_ms)

・【P.21】変数に属性を含める
  (例:html→html_utf8)

・【P.31】限界値の変数の接頭にmin_,max_をつける

・【P.32】以上以下の範囲を表す変数の接頭にfirst_,last_をつける

・【P.33】以上未満の範囲を表す変数の接頭にbegin_,end_をつける

・【P.77】名前付き引数っぽいコメントをつける
  (例:checkRange(/* first_index = */ 1, /* last_index = */ 10))

・【P.84】条件式の左側には調査対象、右側には比較対象
  (例:if(first_index >= 1))

・【P.91】関数から早く返す
# 関数の複数returnを許容しないのはアホくさいらしい。
# …が、ここは賛否が分かれそうな気がした

・【P.124】変数の変更箇所を少なくする
  (現在値の判断が難しくなるのを避けるため)

・【P.127】標準のライブラリを利用する
  (時間の節約になり、書くコードも少なくなる)
# 確かにこれは忘れがちだなと思った

・【P.229】1回のコミットにつき変更内容はひとつ
  (例:1回目のコミット→コメント整形、2回目のコミット→今回の改修)
# コメント整形と今回の改修両方ぶち込んだらdiffとりにくいよな~と思って
# コメント整形しなかったことがあったんだけど
# こうすれば良かったんだ!と気づかせてもらった

 

過去のコメントがコードをただ日本語化しただけになってて、本書で書かれていた意味のないコメントだなって凹んだけど、これから気をつけたらいいよね!