PHP 中的死代码检测 [已关闭]
2022-08-30 13:26:49
我有一个项目,代码非常混乱 - 这里和那里有很多重复和死代码。
前段时间,单元测试的代码覆盖率为零,但现在我们正试图以T.D.的方式编写所有新代码,并通过单元测试覆盖“旧”代码来降低技术债务(测试最后技术)。
业务逻辑的复杂性相当高,有时没有人可以回答是否使用了某些方法。
如何找到这个死代码方法?广泛的日志记录?更高的测试覆盖率?(这并不容易,因为客户希望新功能出来)
我有一个项目,代码非常混乱 - 这里和那里有很多重复和死代码。
前段时间,单元测试的代码覆盖率为零,但现在我们正试图以T.D.的方式编写所有新代码,并通过单元测试覆盖“旧”代码来降低技术债务(测试最后技术)。
业务逻辑的复杂性相当高,有时没有人可以回答是否使用了某些方法。
如何找到这个死代码方法?广泛的日志记录?更高的测试覆盖率?(这并不容易,因为客户希望新功能出来)
xdebug的代码覆盖率工具允许您测试实际正在执行哪些代码行,而无需在所有函数/方法中放置跟踪语句。
例:
<?php
xdebug_start_code_coverage();
function a($a) {
echo $a * 2.5;
}
function b($count) {
for ($i = 0; $i < $count; $i++) {
a($i + 0.17);
}
}
b(6);
b(10);
var_dump(xdebug_get_code_coverage()); // array '/path/file.php' => array line_number => int 1 or 0.
?>