#目的
客観的に見て「より良い」コードの書き方・考え方を学び、今後のコードの記述に生かすため。今回は、区切りよく第Ⅰ部をまとめた。
#一言でいうと、どんな本?
###とにかく「他人にとって」、「読みやすい」コードを書くことに専念しろ!!
#印象に残った点のメモ(一部自分なりにまとめています)
##1章 理解しやすいコード
###「読みやすさ」の基本定理:コードは他の人が最短時間で理解できるように書かなければならない
「短い」だけが優れたコードではない。数日後の「自分」も含めた”他人”にとって、理解するまでの時間が短いコードが望ましい
##2章 名前に情報を詰め込む
基本はこの6つを意識してコードを書くこと。
###1. 明確な単語を選ぶ
**シソーラス(類語辞典)**などを使って類語で示せないか考えること。
###2. 汎用的な名前は避けるor使う状況を選ぶ
ポイントは、その変数に、その変数を定義した目的や値を理解できるかどうか。予め決まりきっているものに汎用的な名前をつけるのはOKだが、そうでない場合、名前は慎重に選ぶこと。
###3. 抽象的な名前よりも具体的な名前を使う
「メソッドの動作をそのまま表していることが分かる」など、具体的で動作のイメージが分かりやすい名前を使うこと。複数の概念が混ざる場合、分けて定義しても良い。
###4. 接尾辞や接頭辞を使って情報を追加する
大切なこと、知らせたいことがある場合は、変数名に重要な内容を書いてしまうという手もある(単位、危険、注意を喚起する情報など)。
###5. 名前の長さを決める
名前の長さは問題ではない(エディタの補完機能により長い名前でも時短で書けるため)。省略することで、新しいメンバーが見たときに「何これ?どんな意味なん?」ってならないように気をつけよう。スコープが数画面におよぶ変数には長い名前をつけること。
###6. 名前のフォーマットで情報を伝える
大文字や_(アンダースコア)などに意味を含めること。ローカル変数との区別も意識して。
##3章 誤解されない名前
###鍵となる考え:名前が「他の意味と間違えられることはないだろうか?」と何度も自問自答すること
つまり、書いている自分の意図が、他の人に正しく伝わる名前を設定しろということ("read"は、「読(み込)む」「読んだ」なのか分からない)。限界値などは、max,min、範囲ならfirst,lastなどを使って伝わりやすくする。
##4章 美しさ
###見た目が美しいコードを書くこと。個人的に「これ大事だな」と思ったものはこちら。
- 一貫性のある適切な改行位置
- 重複する内容があれば、(ヘルパー)メソッドを使って整列させること
- コードを”段落”に分割する(分割するものの間にコメントを入れるなど)
##5章 コメントすべきことを知る
###コメントを書く目的は、書き手の意図を読み手に知らせること
- 逆にコメントにしなくていいこと、**「コードを見ればすぐに分かるな」**というもの
- 優れたコメントより、優れた”名前”
- 優れたコメントとは、自分の考えを記録したもの(「こんな風に考えているんだな」と思考過程が分かるコメントがないとレビューしてもらいにくいらしい)
- 欠陥のあるコードについて、コメントで書いてOK。大切なのは、これからそのコードをどうするつもりなのか?自由に書くことで、コードの状態把握や改善に向かっていける
- **「このコードを見てびっくりすることはなんだろう?」「どんな風に間違えて使う可能性があるんだろう?」**と自問してみること。
- ソースコードを読んだだけでは分からない内容や、ファイルやクラスの全体像などを、高レベルのコメントに記述すること。
- コメントを書く作業のポイントは、
- 頭の中にあるコメントをとにかく書き出す
- コメントを読んで改善が必要なものを見つける
- 改善する
##6章 コメントは正確で簡潔に
###鍵となる考え:コメントは領域に対する情報の比率が高くなければならない
- 複数のものを指す可能性がある代名詞は避ける
- 関数の動作はできるだけ正確に説明する
- よく分からない引数にはインラインコメントを使う
- 多くの意味が詰め込まれた言葉や表現を使って、コメントを簡潔に保つ
#感想・気付き
- ポートフォリオ制作で一時的にコードを残す以外でコメントを残したことがなかったので、GitHubに上げる際も、コメントを残していこうと思った。
- 自分が設定している変数が、ちゃんと意味の理解しやすいものなのか?ポートフォリを改修する際にコードを見直していこうと思った。
#書籍のURLはこちら
リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック