どんどんしよう、リファクタリング
イシュー
- 何に気を付けてリファクタリングしていけばいいかのメモ
やってはいけないこと
- テストがない状態でリファクタリングすると、100%デグるので絶対やってはいけない。
リファクタリングの着目点
手続きの整理
- メソッドの上の方に処理の流れを項番付きでコメントを書く
- 項番付きで処理を記載する
2つ以上の処理の共通化
- 同じ処理があったらprivateメソッドで外だしして共通化する
- 共通化した処理で、戻したい変数が2つ以上あり、それを本体で使いたい場合はメンバ変数を使う
- メンバ変数よりもほんとはタプルで処理を返したほうがいい
- privateメソッド内で分岐はしない(それは共通処理ではないということだから)
SQLの発行回数をへらす
- SQLはループの中で発行しない、いったんMapに格納する
- 必ずWHERE句をつける(全件取得しない)
- 関連テーブルは、いったんIDのSetを作成する
全面修正を恐れない
- リファクタリング時は最初に作成したときの10倍の速度でプログラムを作れるから、全面修正となったとしても恐れない。(ただしテストある時に限る)