3

死んだファイル、変数、関数のクリーンアップ、および大規模で比較的乱雑な php プロジェクト/フレームワークのリファクタリングを容易にする監視、分析ツールはありますか?

4

4 に答える 4

2

Facebook の HipHop にも、役立つ非常に高速な静的コード アナライザーがあります。Etsy の Nick Galbreath がhttp://www.slideshare.net/nickgsuperstar/static-analysis-for-phpでこれについて素晴らしいプレゼンテーションを行っています。

于 2013-06-05T10:29:24.963 に答える
2

問題がデッド コードのクリーンアップである場合は、まずデッド コードを見つけます。

テスト カバレッジ ツール (私の会社はこれらの 1 つを提供しています) を使用して、どのコードが死んでいる可能性があるかを調べることができます。単体テストを介して、またはアプリケーションを 1 日実行するだけで、多くの機能を実行します。メソッド X のカバレッジがないということは、X がおそらく死んでいることを意味します。

死んだ変数はより困難です。データ アクセス カバレッジ情報が必要です。PHP用のそのようなツールは知りません。

コード/変数が死んでいるかどうかを確実に伝える静的アナライザーを知りません。(別の回答で言及されている HipHop は、一部のメソッド、特にローカル変数に対してこれを実行できる可能性がありますが、evalによって任意の関数が呼び出されたり、任意の変数が参照されたりする可能性があるため、PHP でこれを正しく行うのは困難です) .

次に、デッド コードを削除するか、将来の進化を改善するために保持するかを決定できます。

.

于 2013-06-17T04:31:05.390 に答える
2

Opcache が有効になっており、すべてのコードがキャッシュに収まる場合は、次のスニペットを使用して、キャッシュされていない (したがっておそらく使用されていない) PHP ファイルを見つけることができます。

$di = new RecursiveDirectoryIterator(__DIR__ . '/src');
foreach (new RecursiveIteratorIterator($di) as $filename => $file) {
    if (substr($filename, -strlen('.php')) === '.php') {
        if (!opcache_is_script_cached($filename)) {
            echo $filename . "\n";
        }
    }
}
于 2017-09-27T12:05:56.960 に答える
1

http://jenkins-ci.org/を試してみてください。乱雑な PHP などを探すことができる多くのコード分析ツール用のプラグインがあります。

于 2013-06-05T09:58:44.293 に答える