我在一个拥有多个独立开发人员的php项目中工作,最近我们遇到了两次定义函数getmicrotime()的情况。
一切正常,因为它们是在不同文件中定义的,这些文件并非都包含在一个调用中......直到某些重构。
在标准版中,php只会输出致命错误,但此处输出被阻止。 (因为第三方网站称为网站...)所以我们没有得到输出,只是没有任何工作的信息。
要点: 是否有任何方法,外部脚本等检查项目中是否定义了两次具有相同名称的函数?
我想到了reg。 expr搜索,但是当然类方法可以具有相同的名称,如:: meth1和b:meth1 ....所以它并不那么容易。
我说的是一个带有~100,000行丑陋代码的项目......因此无法进行手动检查
提前致谢。
答案 0 :(得分:0)
考虑静态代码分析。我建议使用Sonar + PHP插件:http://docs.codehaus.org/display/SONAR/PHP+Plugin
以下是生活示例: http://nemo.sonarqube.org/dashboard/index/net.php.pear.phpcodesniffer
您总是可以编写一个简单的脚本(即perl或python)来查找所有重复的脚本。算法很简单......