リーダブルコード
はじめに
リーダブルコードを読んで、勉強になったこと、感じたことをまとめていきます。
目次
理解しやすいコードとは
・表面上の改善
コードを書く上での大前提
・コードは理解しなければならない
・コードは他の人が、最短時間で理解できるように書かないといけない
1つずつ説明していきます。
・コードは理解しなければならない
これがコードを書くうえで、一番大事になる原則としている。
・コードは他の人が、最短時間で理解できるように書かないといけない
コードを読む際に、処理内容が分かりにくいコードよりも、わかりやすいこコードの方が良いに決まっています。
わかりにくいコードを書いていると、周りの開発者はもちろん、何ヶ月後かに、自分で見返した時にも、コードを読むのに労力を使ってしまいます。
表面上の改善
鍵となる考え
・明確な単語を選ぶ
・汎用的な名前は避ける
・抽象的な名前よりも具体的な名前を使う。
・接尾辞や接尾頭を使って、情報を追加する
・名前の長さを決める
明確な単語を選ぶ
例えば「getPage」という名前は、ページをどこから取ってくるのかわからない。インターネットから取得するのであれば、「FetchPage」、「DownloadPage」などが良い。
汎用的な名前は避ける
例えば、「tmp」「retval」「foo」のような名前は付けないようにしたほうがいい。
単語自体に情報が無いので、使うのであれば、それ相応の理由を用意する。
抽象的な名前よりも具体的な名前を使う。
名前は短いコメントのようなものなので、絶対に知らせなきゃいけない情報があれば、適切な単語を選び、変数名に追加する
名前の長さを決める
この本では、変数の長さは、長いのが問題ではないが、できるだけ短くすることをおすすめしている。
理由としては、長い変数は覚えにくいし、画面を占領してしまうからです。
頭文字と省略形はプロジェクト固有の省略は良くない。理由は、新しく入ってきたメンバーはその変数の意味を理解できないからである。
不要な単語も投げ捨てた方がいい。例えば、CovertToString()をToString()にしてもあまり変わらない。
変数名はシンプルにしよう。
誤解されない名前
鍵となる考え
・最善の名前とは、誤解されない名前
自分の書いているコードが、自分の意図を正確に伝えるようにする。
プログラミングの英単語は、filterやlength、limitなど曖昧な意味の単語が多い。
例えば、上下の限界値を決めるときは、maxやminなどを使う。包含的範囲であればfirstやlastなどを使うなど、工夫をしていくことが必要である。
美しさ
なぜコードの美しさが必要なのか
プログラミングの時間のほとんどはコードを読む時間です。読みやすいコードは、コーディングのミスを減らし、誰でも使いやすいコードになるのです。
鍵となる考え
・複数のコードブロックで同じようなことをしていたら、シルエットも同じようなものにする。
・コードの列を整列すれば、概要が把握しやすくなる
・空行を使って大きなブロックを論理的な段落に分ける。