4

プロジェクト内の未使用のパブリック関数をすべて見つけるルールを書きたいと思います。元の UnusedPrivateMethod をコピーして修正し、機能するようにしました。しかし、残念なことに、それはあまりにもうまく機能し、プロジェクト内のすべてのパブリック関数を見つけます。

これは、通常、パブリック関数が他のクラスから呼び出され、Rule のスコープがクラス レベルにあるように見えるためです。したがって、各クラス内ではパブリック関数は使用されないため、結果の一部になります。

したがって、クラス レベルだけでなく、プロジェクト レベルのコンテキストを使用してルールを作成するにはどうすればよいでしょうか。

4

2 に答える 2

2

プロジェクトのソース コードを解析するだけですべてのパブリック メソッド呼び出しを取得することはできません。

call_user_func()

また

$object->$method()

プロジェクトをできるだけ完全に単体テストでカバーすることをお勧めします。それらを実行すると、コード カバレッジの統計が得られます。読みやすい形式で表示できます。どのメソッドが呼び出され、どのメソッドが使用されていないかがわかります。

はい、これらの単体テストを作成するのに時間を費やす必要があります。しかし、それだけの価値があります。

PHP 単体テストコード カバレッジをご覧ください。

于 2013-07-22T06:30:49.403 に答える