リファクタリングの概要
リファクタリングは、既存のコードの振る舞いは変えずに、そのコードを再構成したり変更するために使用できる技術です。 リファクタリングを利用すると、アプリケーション コードのパフォーマンスと可読性の両方を効率化、単純化、および改善できます。
各リファクタリング操作は、特定の型の識別子に対して実行されます。 リファクタリングを何度も連続して実行すると、コードの構造が大きく変更されていきます。ただし、それぞれのリファクタリングは 1 つの型のオブジェクトや操作に限定されるので、誤差を小さくできます。 特定のリファクタリングによって、予期しない結果が生じることがわかった場合は、いつでもそのリファクタリングを元に戻すことができます。 各リファクタリング操作には、固有の制約セットがあります。 たとえば、コンパイラによってインポートされたシンボルの名前は変更できません。 これらの制約については、それぞれのリファクタリングのトピックで説明しています。 Delphi では、ジェネリックを使用した識別子に対してリファクタリング操作を適用できます。
RAD Studio には、リファクタリング操作の評価や実行を行うリファクタリング エンジンが内蔵されています。 またこのエンジンは、コード エディタの下部に表示される[リファクタリング]ペインに、どのような変更が生じるかのプレビューを表示します。 想定されるリファクタリング操作がツリー ノードとして表示されます。このツリー ノードを展開すると、そのリファクタリング操作によって影響を受ける可能性のある要素が表示されます(存在する場合)。 警告やエラーもこのペインに表示されます。 リファクタリング ツールには、[リファクタリング]、[検索|リファレンスの検索]、および[表示|リファクタリング]の各メニューからアクセスできます。また、コード エディタおよびモデリングの[ダイアグラム]ビューや[モデル ビュー]のコンテキスト メニュー(右クリックしてアクティブにするメニュー)からもアクセスできます。
リファクタリングの主な参考図書として、『リファクタリング - プログラムの体質改善テクニック』(Martin Fowler 原著、ピアソンエデュケーション、2000)があります。
次のリファクタリング操作は、コード エディタからのみアクセス可能です。
- シンボルの名前変更(Delphi、C++)
- メソッドの抽出(Delphi)
- 手続きと関数のパラメータの変更(Delphi)
- リソース文字列の抽出(Delphi)
- 変数とフィールドの宣言(Delphi)
- ユニットの検索(Delphi)
- リファクタリングの取り消し(Delphi)
- リファレンスの検索(Delphi)
- リファレンスの検索の概要(Delphi)
- 同期編集を使用する(Delphi)
コード エディタ、または、モデリングのダイアグラム ビューやモデル ビューでは、次のリファクタリング操作が使用できます:
- メンバを移動する
- インターフェイスを抽出する
- スーパークラスを抽出する
- [メンバのプル アップ]および[メンバのプッシュ ダウン]
- [安全な削除...]
- 変数をインライン化する
- フィールドを導入する
- 変数を導入する
- [リファクタリング]ペインでのリファクタリング操作のプレビュー