リファクタリング:シンボルの名前の変更
より明確にその目的を示し、ソースコードをより容易に読み、維持できるようにするため、シンボルの名前を変更する、名前変更リファクタリング操作を使用します。名前変更操作は、シンボルとコンテキストに通じているので、あなたが起こす誤りと、手落ちを回避するのに役立ちます。
手順
- ソースエディタで、リファクタリングしたいシンボルを選択します。
- [編集(Edit)] > [リファクタリング(Refactor)] > [名前変更(Rename)] を選択します。
- 新しい名前と適切なオプションを指定します。
- [プレビュー(Preview)] ボタンをクリックします。
- 左側のリストで、各ファイルを選択して、その変更をプレビューします。
- 変更したくない全てのファイルを選択解除します。
- [適用(Apply)] ボタンをクリックします。
名前変更リファクタリング操作は、クラス、メソッド、関数、などの名前のように、任意のシンボル(プロトコルインタフェース内で宣言されたメソッドを除きます) 上で実行できます。
操作は、現在のプロジェクト内のファイル全体でシンボルの名前を変更します。"関連ファイルの名前を変更" オプションを選択した場合は、ヘッダーと実装ファイルのシンボルの名前が付いたファイルだけでなく、シンボルそのものとそれに対応するシンボルを使用しているファイル内の文の import と include の名前を変更します。
名前変更操作は、nib とコアデータモデルファイルだけでなく、テキストファイルでも動作します。これは、プロパティでは、特に有用です。例えば、以下のようなプロパティの宣言では:
-
@property (retain) NSString *color;
アクセサメソッドを生成する場合、名前変更操作は、アクセサメソッドでも正しくシンボルを置き換えます。すなわち、color の名前を変更して shade に変更すると、アクセサメソッドを setColor から setShade に設定します。
関連記事
リファクタリング:一般的なワークフロー
リファクタリング:メソッドにコードを抽出
リファクタリング:スーパークラスの作成
リファクタリング:スーパークラスに項目を昇格
リファクタリング:サブクラスに項目を降格
リファクタリング:変数のカプセル化