大規模なプロジェクトの uses 句にユニットを追加することの難しさによって、特定の種類のコードのクリーンアップとリファクタリングが非常に困難になっていることがわかりました。
1 つのプロジェクト内のすべての delphi .pas ユニットの interface-uses-clause にユニットを追加したいのですが、これは 500 以上の場所で手動で行うことを意味します。巨大なユニットをリファクタリングして 1 つのユニットを 2 つに分割するたびに、おそらく「notepad++」などを使用して「MyOldUnit」を「MyOldUnit,MyNewUnit」に変更して検索および置換できますが、それは安全ではない場合もあります。 . また、"MyOldUnit" が uses 句の最後の部分 ("uses MyOldUnit;") である場合も見逃しています。
とにかく、ファイルの検索と置換は危険なビジネスです。そのようなツールが存在しない場合は、Castalia delphi パーサーを使用して作成することを検討しています。GExperts、Castalia、ModelMakerCodeExplorer を確認しましたが、プロジェクト内のすべての uses 句にユニットをバッチ挿入する方法はありません。これを行うためのツールが存在することを願っています。
第 2 に、多くの場合、別のユニットに属していないあるユニットから機能を移動しますが、これは、そのユニットをプロジェクトのユニットの 30% に追加する必要があることを意味しますが、それが既にある他の 70% には追加しません。追加した。つまり、正規表現のアプローチではなく、パーサーのアプローチが必要です。