リファクタリングとは「ソフトウェアの外部的振る舞いを保ったままで、内部の構造を改善していく作業」をいいます。 と、こんな説明は世の中腐るほど出ています。 僕のおすすめの「リファクタリング プログラミングの体質改善テクニック」という本もあります。 ここでは、プロジェクト中のちょっとしたときに、リファクタリングを行えるような覚書きをまとめておこうかと思います。 すべてのリファクタリングに先立って自動テストを行うことがリファクタリングの最低条件である。 コードの嫌な匂い重複したコード長すぎるメソッド大きすぎるクラス多すぎる引数変更クラスが複数変更箇所が多い他クラスの属性ばかり使っているまとまったデータ基本データ型よりオブジェクトスイッチ文継承する毎に変更が入る無駄なクラス不要な一般化一時属性の多用過剰なメッセージチェーン過剰な委譲相互リンク処理は同じで名前が違う未熟なクラスライブラリデータ