新人SEのリーダブルコードリーディング


目的

リーダブルコードでの学習をアウトプットすることで、知識の定着を図る

実施内容

1章から隔週で読み込みを行い、
その内容から得られた知見やポイント・所感などを記述していく。

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

優れたコードを書く上で最も押さえておかなければならないこと・コンセプトは
「他者が最短時間で理解できるように書かなければいけない」ということである。
コードは自分だけのものではない。コードは保守しやすいように書かなければならない。
相手のことを「想う」ことが大切なんだと感じた。

第二章 名前に情報を詰め込む

使用するメソッドや変数の名前のつけ方に関しての作法が記述されている。
ここでもポイントとなるのは、「最短時間で理解できるように」である。
これを根本に置いたうえで、そのためにはどのような方式で名前を決定していけば良いのだろう。
本を読んでみて、「意味のある名前を付ける」「それはわかりやすい意味とする」
「特に動詞の部分を明確にしてみる」「複数名詞を羅列する場合はアンダーバーなどを用いる」
「名詞に関しては大きさ(単位など)や状態を追記する」
「これらは具体化しすぎない」「その塩梅はコードの影響範囲と関係している」
「抽象的な名前を用いるのであれば、なるべく固める」
辺りがKEYとなるのかと感じた。
また、先輩からはこの章に関連して
ひとつの変数・ひとつのメソッドにはたった一つの責任のみを負わせるようにする
とのアドバイスを受けた。
これにより、名前と中身が完全に一致し、齟齬やバグの防止につながるという。
またUTにおいてもスムーズな作成につながる。

第三章 誤解されない名前

前章では使用するメソッドや変数において、情報を埋め込む必要があることを知った。
本章では、その情報を「適切に設定しているか」検証する必要があることを主題としている。
主に、誤解されないかに着目している。
境界面に注意をしたほうが良い。min,maxやfirst,lastを用いて範囲を明確にすること。
ブール値に関しては、どんな状況にtrue/falseになるのか、is○○やcan○○などで表現すること。
単語に対する一般的な期待値に注意すること。
先輩からは、一般的な基準とずれた場合が名前を考え直すポイントと伺った。

第四章 美しさ 第五章 コメントすべきことを知る     

本章は「美しさ」についての記載である。
ごちゃごちゃしている汚らしいコードは保守性に欠けるなどの負の影響を及ぼす。
ポイントは大事なところを他者にわかりやすく理解させるようにするということ。
そのために、「無駄にコメントを書かない」ことや「インデントの活用」
「同じような処理は切り出して、それを呼び出して使うようにする」などを実施する必要がある。でないと、埋もれてしまうからだ。
このテーマに関して、先輩は「コメントつけるか迷っているということは、それはメソッドや変数名の定義に問題がある証拠」というアドバイスをいただいた。確かに、【優れたコード > 汚いコード + よいコメント】の理論からして、その通りだと感じた。