リーダブルコードを3分の2ぐらいよんだので現時点でのまとめを。
いいコードの定義
リーダブルコードのいいコードの定義は読む人が理解しやすいということだと思います。
シンプルにいうとこれにつきます。ルール同士は干渉したり、衝突することもあるけどこの原則が最優先にくることは間違いないでしょう。
具体的な手法
変数の名称
- 具体的でわかりやすい名称にする
- 一般論としてスコープに比例して名前に情報を入れる必要あり
- 長すぎる場合は短縮形を使ったり、不要な単語を削る
- フォーマットを決めて形式で情報を伝える
- 各種よく使われる命名パターンを覚える(最大最小 max or minなど)
- 否定よりも肯定など、意味がとりやすい名称にする
コード自体の見た目
- 改行位置を揃える
- 縦の情報がずれていないようにする
- 似たような変数は目で見てグルーピングがわかるようにする
コメント
- 当たり前のことを書かない
- コメントが冗長になりそうであれば命名などを考える
- 実例を書く
- 文章よりは式や箇条書きなど意味が簡潔でわかりやすいものにする
- クラスやファイル自体は全体像のコメントを書く
制御フロー
- if文は比較される値を右に。できれば<のほうが見やすい
- 否定形よりも肯定系で
- 除外できる結果は早く返す
- ネストを浅くする
コードの分割
- 1行に処理が詰まりすぎている場合は変数を使い分割
- 条件分岐は反転させられないかを考える
- 条件分岐で処理がありすぎる場合は分割する
- 別解を考える
変数の使い方
- 不要な一時変数の削除
- できるだけスコープを縮める
- 使用箇所と近い場所での定義
- 書き込むのは一度だけ(orなるべく数なくする)