第9章:変数と読みやすさ
概要
本章では、変数を適当に扱うとコードが読み難くなるので、変数を極力減らすことの重要性について説明してくれている。
まとめ
値の追跡が困難になるので変数を無駄に増やさずに、コードを書くべきということを主張している。そのために、「邪魔な変数を削除する」「変数のスコープをできるだけ小さくする」「一度だけ書き込む変数を使う」ということを念頭に開発をする。
学んだ点
・「変数が多いと変数を追跡するのが難しくなる」「変数のスコープが大きいとスコープを把握する時間が長くなる」「変数が頻繁に変更されると現在の値を把握するのが難しい」という点に注意すべきでこれらを本章では対処していく。
・コード内で中間結果を持つだけの変数は削除してその結果を用いる。
・グローバル変数に限らず、全ての変数のスコープを縮めて変数のことが見えるコード行数をできるだけ減らす。
・アクセスはできるだけ制限して、変数のことが「見えてしまう」コードを減らすのがいいとされている。なぜなら、一度に考えなければならない変数を減らせるからである。
・メンバ変数というのはクラスの中で「ミニグローバル」になっている可能性が高く、そのようなミニグローバルな変数はできるだけ減らした方がいい。
・クラスのメンバへのアクセス制限をするもう一つの方法は、メソッドをできるだけstaticにすることと、大きなクラスを小さなクラスに分割することである。分割後のクラスが相互に参照あっていれば、行う意味はない。
・メソッドをできるだけstaticにすることで、「メンバ変数とは関係ない」ということがよくわかるからである。
・値が更新され続ける変数が多いとコードが理解し難くなるので、変数は一度だけ読み込むようにするべき。なぜなら、変数を操作する場所が増えると現在の値の判断が難しくなるからである。
感想と振り返り
変数の多さを普段意識したことはないですが、実装中に元からある変数の値を取ってきて加工するみたいな変な実装をしてしまいすぎていつことがあったかもしれません。そもそも今何の情報が必要なのかを考えて実装をしてその上で変数を作成する。変数作成時もできる限り、スコープを狭めて可読性を高めて実装をすることを意識したいものですね!!