"リファクタリング-既存のコードを安全に改善する-"を読んだので、気になったところをまとめます。

・リファクタリングと機能追加の作業は区分すべき(p.54)
・コードの理解のためにリファクタリングする(p.56)
・インタフェースを変更した場合、古いインタフェースで新しいインタフェースを呼べばよい(p.64)
・リファクタリングを採用すれば、唯一無二の完璧な事前設計をする必要がなくなる(p.67)
・コメントが多い箇所はリファクタリングが必要である可能性が高い(p.77)
・機能追加の際はテストから書き始めよ(p.90)
・テストを書く際に、はじめは失敗するようにしておく(p.95)
・バグレポートを受け取ったら、そのバグを明らかにする単体テストを書く(p.97)
・テストをたくさん書こうとするな。一番妖しいと思う部分からテストせよ(p.97)
・継承のテストは全組み合わせではなく、各選択肢をテストすれば十分(p.101)
・メソッド名の長さは問題でない。メソッド本体との間の意味的な距離が重要(p.110)
・意味のあるメソッド名が思いつかなければ、メソッドは抽出しない(p.111)
・一時変数に値を設定するのは一度だけにすべき(p.128)
・一方があまり起こらない条件である条件分岐ではガード節を使う(p.250)
・switch文はポリモーフィズムに置き換える(p.255)
・例外は、正常処理とエラー処理を明確に分離する点でエラーコードよりも優れている(p.310)
・リファクタリングは何か別の目的を前提とし、その目的を達成するのに必要な分だけやればよい(p.360)