我发现自己来自可怕的JavaScript项目。我没有看到任何对已知设计模式的引用,代码文件包含5000多行乱码。该功能的常用长度约为100行。命名空间也很混乱。任何想法如何对这个项目有任何意义?
我一直在尝试阅读源代码,但没有任何评论。也没有测试,所以做出改变是运气的问题。
放弃项目不是一种选择。
有什么好的帮助工具吗?目前我正在使用崇高的和铬。
答案 0 :(得分:2)
如果您有规格,可以编写测试然后安全地重构。你的测试会告诉你是否有任何破坏。
另一方面,如果您没有规格,您可以通过生成一堆随机值来编写测试并记录相关结果。使用您当前的代码,您知道(根据定义)它们是正确的。
我在会议上看到了后一种方法,即重构丑陋的遗留代码。扬声器生成了大量随机值/结果对,将它们转换为单元测试,并开始超快速地重构。结果非常惊人,你肯定知道在这个过程中什么都没有破坏。
当然,如果您的应用程序比"给我一个输入更复杂,我会告诉您输出"风格,这比较棘手。但也许它会让你开始!