大規模なプロジェクトのuses節にユニットを追加することが難しいため、特定の種類のコードのクリーンアップとリファクタリングが非常に難しくなっています。プロジェクト内のすべてのユニットのuses節にユニットを追加しますか?
1つのプロジェクト内のすべてのdelphi .pasユニットのinterface-uses-clauseにユニットを追加したいと思います。これは、手動で500以上の場所で行うことを意味します。私が巨大なユニットをリファクタリングして1つのユニットから2つに分割するたびに、 "notepad ++"のようなものを使用して "MyOldUnit"を "MyOldUnit、MyNewUnit"に変更して置換することはおそらく可能です。また、 "MyOldUnit"がuses句の最後のもの( "MyOldUnitを使用する")の場合がありません。
とにかく、ファイルの検索と置換は危険な仕事です。そのようなツールが存在しない場合、私はCastalia delphiパーサーを使用して、ツールを作成することを検討しています。私はGExperts、Castalia、ModelMakerCodeExplorerをチェックしており、プロジェクト内のすべてのuses節にユニットをバッチ挿入する方法はありません。私はこれを行うためのツールが存在することを望んでいます。
第2に、多くの場合、別のユニットに属さない1つのユニットから関数を移動していますが、これはユニットをプロジェクトのユニットの30%に追加する必要があることを意味します。既に追加されている%。つまり、正規表現のアプローチではなく、パーサのアプローチが必要です。
JCL \専門家で(非常に古い) 'JclUsesWizard'があります\ useswizard、おそらくそれが出発点としてあなたを提供することができます。 –
これを行うには実際のパーサは必要ありません。 PerlやPythonを使った正規表現ベースのスクリプト、正規表現のスクリプトのようなものです。堅牢なものが必要な場合は実際のパーサが必要ですが、独自のコードベースにワンショットアプリケーションを使用する場合はそうしないでください。 –
まだCnPackを試しましたか? – kobik