Would running findbugs, CRAP or checkstyle before and after a refactoring be a useful way of checking if the code was actually improved rather than just changed?
实际上,正如我在问题
"What is the fascination with code metrics?"中详细说明的那样,任何指标(findbug,CRAP等)的
趋势是指标的真正增加值。
它(度量标准的演变)使您可以
优先考虑真正需要对代码进行的主要固定操作(而不是盲目地尝试遵守其中的每个度量标准)
在此域中(类似于指标),像
Sonar这样的工具可能非常有用。
Sal在评论中添加:
The real issue is on checking what code changes add value rather than just adding change
为此,测试覆盖率非常重要,因为只有测试(单元测试,还有较大的“功能测试”)才能为您提供有效的答案。
但是无论如何,如果没有明确的目标,则不应进行重构。仅因为它“更优雅”甚至“更易于维护”而这样做,可能本身并不是改变代码的充分理由。
应该有其他措施,例如一些将在过程中修复的错误,或一些由于“重构”代码而将更快实现的新功能。
简而言之,重构的附加值不仅可以通过指标来衡量,还应该根据目标和/或里程碑进行评估。