最近又开始读重构这本书了,这次换成了原版。
同时最近也开始当小兵,在project里完成一些功能。 面对着基于遗留系统的设计,重构又要祭出来了。
这里边回顾,边总结,边学习,边理解下重构的时机哈。
进入项目的时候需求PK什么的并没有参加,只是一无所知的直接去参加需求确认会了。
然后就进入项目了。根据PM的分配,接手了一些系统交互的功能设计和数据处理,另外由于需求的变化重构一期的功能设计。
从数据库表格的重构开始,涉及了数据迁移,功能的变更,几乎是完整的重新实现了原有功能,这里可以看到设计的缺陷,一二期相差并不是很久远,却要完整的重构,对资源的浪费太那啥了。所以,重构并不仅仅是代码要重构,过度设计不好,但必须斟酌设计方案,留有必要的扩展和重用空间。设计要斟酌,设计方案完成后是一个重构时机哈(未必要重构)。
完成了UC文档和设计文档之后,经过确认开始了编码工作。期间,大致构思了精确到函数的代码套路。但在设计实现的时候还是出现了一些重复的功能,重复的数据,实现功能之后,review一次代码。整理了一下代码实现,这里完成了第一次代码的重构。这样的话,代码质量更可读性都能提高不少。这个点很重要。
和同事交互系统时,出现了一些公共暴露服务过于琐碎的情况,这个当时设计的时候没有考虑到,属于经验欠缺型,由于项目进度的关系,不能进行重构了。我也没有办法,小兵只能建议不能强制实施,如果我是PM,这个点上需要重构的,一则减少一些重复代码,二可以统一编程风格,有利于后来人接手项目能够更容易的完成一些改动。但这个点比较遗憾没有做。
三的话就是测试中发现bug可能涉及到代码的小部分改动,这是进行局部函数和变量的重构。这里不鼓励大改动,这样会增加BUG出现的风险,给测试人员带来不必要的工作量增加。
基本上在新项目上重构的时机就是这些吧,可能代码之外的重构时机不太完整,受限于经验,暂时能想这么些吧。
分享到:
相关推荐
本文将探讨一种特殊的重构时机——“最后一根稻草”型时机,以及重构的识别、论证、过滤等关键步骤。 “最后一根稻草”型时机通常发生在系统已经过度复杂,问题重重,但又无法避免新增需求的情况下。此时,系统的...
3. **重构时机**: - 在开发新功能前,如果发现现有代码存在设计问题,可以先进行重构。 - 当遇到重复代码时,也是进行重构的好时机。 #### 重构方法与技巧 1. **70多种重构案例**:书中提供了超过70种具体的...
1. **重构时机**:王家林建议在添加新功能之前,或是发现代码存在严重问题时进行重构,以确保系统的稳定性和可扩展性。 2. **发现重构点**:通过代码审查和静态分析工具,可以有效识别需要改进的部分。 3. **保证...
1. **识别重构时机**:当代码变得难以理解,或者发现性能瓶颈,或者需要添加新功能但现有结构难以支持时,可能是进行重构的好时机。 2. **编写单元测试**:重构前,编写全面的单元测试用例,以确保重构过程中软件...
- 重构时机:在项目维护阶段或代码质量下降时进行,避免在项目初期过度重构。 - 重构风险:需谨慎评估重构可能带来的风险,如时间成本、团队成员的接受程度等。 - 技术债务:及时处理技术债务,避免积累过多导致...
4. **步骤与策略**:书中会详细阐述从重构到模式的步骤和策略,包括如何选择合适的重构时机,如何确保重构过程的安全性,以及如何避免过度设计。 5. **案例研究**:通过实际案例,作者可能会展示如何在实际项目中...
书中提到的重构时机包括代码重复时、注释可以用来解释代码时、函数过长需要拆分时、代码与设计意图不符时等。重构不只是一门技术,更是一种编程风格和习惯。重构可以应用在任何面向对象的编程语言中,而Martin ...
重构时机** - **版本控制前的重构:** 在提交代码到版本控制系统(如CVS)之前进行重构,确保每次提交都是干净且经过优化的。 - **系统维护中的重构:** 重构有助于保持系统的健康状态,特别是在处理bug或新功能时...
2. 重构的原则:重构应当遵循的几项原则包括持续性原则、小步快走原则、持续集成原则、保持测试覆盖率原则和重构时机的选择等。这些原则是重构时保证代码质量和系统稳定性的重要指导思想。 3. 重构的时机:重构的...
以下是一些常见的重构时机: - 在添加新功能或修复错误时,如果遇到代码结构上的障碍,这时应该考虑重构。 - 定期进行代码审查,发现需要改进的地方时。 - 当代码出现“代码气味”(如重复代码、过长的函数、复杂的...
《重构:改善既有代码的设计》还涵盖了如何识别重构时机、如何获得团队对重构的支持以及如何在大型项目中进行重构等内容。书中包含了大量的实例和代码示例,使得读者能够更好地理解和应用重构技术。 总的来说,这...
9. **重构的时机**:最佳的重构时机通常是当代码的复杂度增加、bug频繁出现或需求变化时,这时重构可以帮助我们理清思路,使代码适应新的需求。 10. **团队协作**:重构不仅是个人的任务,而是整个团队的共同责任。...
4. **重构时机**:选择合适的时机进行重构,避免在项目紧张阶段大规模修改代码。 5. **重构工具**:利用现代IDE等工具来辅助重构工作。 #### 四、重构的最佳实践 1. **编写单元测试**:确保重构前后代码的行为保持...