現在は退職している一部の同僚は、関連するクラス ファイル内に新しいクラスを追加する習慣がありました。
これにより、リファクタリングが苦痛になります。
これらの怪物ファイルを分割するツールは、おそらく XCode や AppCode、あるいは単純なスクリプト内にありますか?
現在は退職している一部の同僚は、関連するクラス ファイル内に新しいクラスを追加する習慣がありました。
これにより、リファクタリングが苦痛になります。
これらの怪物ファイルを分割するツールは、おそらく XCode や AppCode、あるいは単純なスクリプト内にありますか?
AppCode にはこれを支援するツールがあるようですが、プロセスを半自動化するだけです。
私は AppCode 2.0 を使用しています。同じツールが AppCode 1.x で利用できるかどうかはわかりません。
ファイルから 1 つのクラスを新しいファイルに抽出するには、行@interface
または@implementation
行を右クリックし、[リファクタリング] > [移動] を選択します。または、その行で F6 を押します。新しいファイル名を入力できるようになりましたが、おそらくここにクラス名をコピーして貼り付けたいと思うでしょう。この時点で、移動する定義を選択することもできます。
ファイル内のすべてのクラスを抽出するスクリプトを作成しました。いつの日か、ユニット テストからクライアント コードを削除する機会があれば、ぜひ共有したいと思います。
このためのツールはないと思います。ただし、同じことを行う独自の osx アプリケーションを作成することもできます。
アプリケーションはファイルの参照を要求し、 @end @implementation....~@end` を検索して、そこからファイルを作成し@interface....
ます。and
1 つのファイルに 2 つのクラスが含まれている場合は、for ファイル (2 つのヘッダーと 2 つの実装) になります。その後、元のファイルを手動または自動で削除できます。
上記のタスクは数時間で完了できると思います。
ロールバックしたい場合に備えて、元のファイルをフォルダーに保存できます。