我有一些PHP代码没有良好的测试覆盖率,并且在当前状态下不易测试。如果我使用PhpStorm的refactor菜单中的命令,并且不做任何其他更改,那么我怎么能确定这不会改变我的应用程序的行为?
其他自动重构工具的安全性如何?
我的理解是这些工具将应用静态分析,并且只有在应用程序执行非常奇怪的操作时才会导致行为更改,例如取决于debug_backtrace()的输出
答案 0 :(得分:-1)
(过于)简单的答案是它不比手动重构好或坏。
如果您有良好的测试,那么它是安全的。如果你不这样做,那就不是。
我想说如果没有对每个被重构的函数进行单元测试,就不要进行任何重构。重构不应该破坏单元测试,如果它没有重构它,你已经改变它。
我过去曾经以奇怪的方式被PhpStorms重构工具所咬,甚至导致语法损坏。但是,那是很久以前的事了,工具已经开始了,如果你有条不紊地对SCM进行更改,那么回过头往往很容易。