-
没有测试如何重构10
最近接手的代码有个方法特别让人头疼,无数的大小if/else层层嵌套,长度接近400行,要命的是它还三天两头出bug,天呐我连看懂它都不奢望了还要找bug?
具体代码就不贴出来了,相信大家多少可能都遇过这种情况;我目前打算把它重构下,至少看得清楚点。但问题出来了,这段代码根本就没有单元测试(估计也没谁能写出来),那该怎么重构?
目前的做法是利用eclipse的自动重构工具提取出了几块大方法,寄希望于eclipse来保证正确性;进一步涉及业务逻辑的就不敢再动了。这里涉及的一个问题是,可以用tdd来解决如何开发的问题,但另一方面,如何维护现有代码也是非常关键的,特别是在它没有测试代码的情况下。2011年5月24日 08:59
相关推荐
Meszaros拥有超过十年的自动化单元测试架构经验,在测试自动化模式、软件及测试重构和易测性设计方面享有盛誉。 #### 二、书籍核心价值与适用人群 本书为使用xUnit框架编写自动化测试提供了权威指南。xUnit是一种...
### xUnit 测试模式:测试代码重构 #### 知识点概述 《xUnit测试模式:测试代码重构》是一本关于使用流行的单元测试框架 xUnit 编写自动化测试的指导书籍。作者 Gerard Meszaros 是一位敏捷教练和测试自动化领域的...
它是通过一系列微小的、保持行为不变的转换步骤来实现的,每次变换之后都需要运行测试以确保重构没有引入错误。重构对于保持代码的可读性和可维护性至关重要,是敏捷开发和迭代方法中常见的实践,比如在极限编程(XP...
- **确保测试覆盖**:重构前后都需要有充分的测试来确保功能的正确性。 #### 二、代码的“坏味道” 代码中的“坏味道”是指那些降低代码质量和可维护性的特征。常见的代码“坏味道”包括但不限于: 1. **重复代码...
- 完成后再次全面测试,确认没有引入新的错误。 3. **重构后维护**: - 更新文档和注释,保持代码的一致性和可维护性。 - 持续监控代码质量,定期进行重构以应对需求变化和技术进步。 #### 结论 《重构:改善...
2. **自动化测试**:重构前后进行充分的单元测试,保证重构没有引入新的错误。 3. **文档更新**:重构后及时更新相关文档和注释,保持代码的可读性。 总之,重构是软件工程中的一个重要环节,它不仅能够提升代码...
- **单元测试**:编写单元测试以确保重构前后代码的行为一致。 - **版本控制**:使用版本控制系统记录每一次改动,便于追踪和回滚。 #### 四、重构的技术与方法 - **常见重构技巧**: - **提取方法(Extract ...
重构时,应将大方法拆分为多个小方法,每个方法专注于一项特定的任务,以提高代码的可读性和可测试性。 其次,**冗余代码**是重构时需要特别关注的。冗余代码不仅浪费存储空间,还可能导致维护困难,因为一处修改...
虽然这部分内容对于提供重构知识并没有直接帮助,但它提醒读者在寻找更多相关资源时可以通过这个网址获取。 由于文件提供的内容太少,无法给出具体的重构技术细节。不过,我可以根据重构和Ruby的知识背景给出一些...
1. **代码简化**:经过重构后,代码量减少了近一半,同时没有影响到原有的功能。 2. **性能提升**:由于代码更加简洁高效,系统整体性能得到了显著提升。 3. **维护方便**:重构后的代码结构清晰,使得未来的维护和...
- **描述**:在重构过程中,如果没有足够的测试支持,很容易导致原本正常的代码出现问题而不自知。 - **应对策略**:确保重构前后的测试覆盖率不低于原来的水平;利用持续集成工具自动化测试流程。 2. **陷阱二:...
之前发了一篇关于测试用例的帖子在论坛,今天还是想在这里再唠叨一次,因为对测试用例的设计又有了一点新的认识,至少是在我的思想里,或许别人早就觉得是小儿科了,哈哈~ 新入职一家公司刚好赶上测试用例重构,...
重构后进行全面的回归测试是非常重要的,以确保没有引入新的bug或破坏现有的功能。 **沟通与团队协作**: 重构往往涉及到代码结构的重大变化,因此需要与团队成员进行充分的沟通,确保每个人都了解这些变化及其原因...
6. 重复测试,确保重构没有引入新的bug,并且软件的外部行为保持一致。 在进行代码重构时,开发人员需要注意以下几点: - 不要一次性重构整个系统,应该选取特定部分逐步进行。 - 在修改代码的同时要不断地运行测试...
每完成一部分重构后,都需要进行详细的测试,确保没有引入新的错误或问题。 ### 重构的策略与技巧 #### 1. 使用单元测试 在重构过程中,编写和维护单元测试是非常重要的,它可以确保重构不会破坏现有的功能。 ###...
7. **单元测试**:重构前后的代码都应进行单元测试,确保功能没有被破坏。可以使用C++的单元测试框架,如Google Test或Catch,编写测试用例来验证代码的正确性。 8. **代码风格**:遵循一定的编码规范,如Google ...