3

是否有任何监控、分析工具可以帮助清理死文件、变量、函数和重构大型、相对混乱的 php 项目/框架?

4

4 回答 4

2

如果问题是清理死代码,首先你要找到死代码。

您可以使用测试覆盖率工具(我的公司提供其中一种)来找出哪些代码可能会死掉。通过单元测试或简单地运行应用程序一天来锻炼大量功能;没有覆盖方法 X 意味着 X 可能已经死了。

死变量更难;您需要数据访问覆盖率信息。我不知道有任何这样的 PHP 工具。

我不知道有任何静态分析器可以可靠地告诉您代码/变量是否已失效。(在另一个答案中提到的 HipHop 可能能够对某些方法执行此操作,尤其是对于局部变量,但eval可能会导致调用任何函数或引用任何变量,因此很难在 PHP 中做到这一点) .

然后,您可以决定是要删除死代码,还是保留它以改进未来的发展。

.

于 2013-06-17T04:31:05.390 回答
2

Facebook 的 HipHop 也有一个非常快速的静态代码分析器,它会有所帮助。Etsy 的 Nick Galbreath 在http://www.slideshare.net/nickgsuperstar/static-analysis-for-php上对此做了很好的介绍

于 2013-06-05T10:29:24.963 回答
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 回答