重构遗留代码可能是一件棘手的事情。 通常,该代码未经测试,不清楚并包含一些错误。 如果未计划,则重构所需的时间将占用分配给功能的所有时间。 然后,该功能将很快实现,并且将导致更多无法维护的错误代码。
In this blog post, I will try to show some tools and methods to refactor safely a piece of code. I will use the trivia kata as a support for this. The resulting code can be found on GitHub.
Characterization Test: the Golden Master
任何重构的前提条件是构建测试工具,以确保重构不会破坏任何内容。 在这个例子中,用单元测试来测试所有可能的路径似乎是浪费时间。 幸运的是,该代码包含许多跟踪,可以打印出代码的作用。 然后可以使用一组输入来运行代码,捕获输出并保存。 此输出称为黄金大师。 每次修改代码时,都将使用相同的输入来运行代码,并将输出与黄金母版进行比较。 您可能已经注意到,这将无法确保代码没有错误,只会确保代码始终表现相同。
在Java中,可以使用称为认可:
<dependency>
<groupId>com.github.nikolavp</groupId>
<artifactId>approval-core</artifactId>
<version>0.3</version>
</dependency>
转载自原文链接, 如需删除请联系管理员。
原文链接:Trivia Kata:重构故事,转载请注明来源!
相关推荐