作者:荣清右 | 来源:互联网 | 2024-12-03 16:38
Martin Fowler,著有《重构:改善既有代码的设计》一书,近期在其博客中分享了关于如何通过多种工作流程将代码重构纳入日常编程实践的观点。他强调,为了实现高效的代码重构,开发者应当综合运用所有可用的重构工作流程,确保这些流程能够无缝集成到开发活动中。
Fowler指出,重构是一种专门的技术,旨在调整现有代码的结构,同时保持其外部行为不变。他引用了Joshua Kerievsky在《重构与模式》中的观点,即通过不断优化代码设计,可以使代码更加易于维护和扩展,而非仅仅专注于快速添加新功能。
尽管重构技术已广为人知,Fowler仍建议团队应进一步探索和掌握实施重构时可利用的各种工作流程,以便在不同情境下选择最适合的方法。例如,SourceMaking网站根据Don Roberts提出的‘三次法则’,列举了需要进行代码重构的情况,包括添加新功能、修复错误以及代码审查等场景。
Fowler提出了‘两顶帽子’的比喻,形象地说明了在添加新功能(戴上‘功能帽’)和优化代码质量(戴上‘重构帽’)之间切换的重要性。他强调,在编程过程中,开发者可能需要频繁转换角色,但每次只能专注于一个任务。
文中还介绍了几种常见的重构工作流程,如‘测试驱动开发下的重构’,该流程遵循红-绿-重构的循环;‘垃圾清理式重构’适用于处理代码中的混乱部分,逐步清理以简化后续工作;以及‘提高代码可读性的重构’,旨在使代码更加清晰,便于理解和维护。
此外,Fowler还讨论了其他几种重要的重构策略,包括‘预备性重构’,在开发新功能前优化现有代码;‘计划性重构’,当代码问题累积过多时,专门安排时间进行大规模重构;以及‘长期重构’,涉及在多个迭代周期中逐步替换大型组件。
你是否也在项目中积极实践代码重构呢?