最近有朋友问到如何做好系统重构, 恰好自己也准备重构一个系统, 因此将大概思路整理出来, 共同分享。
我认为重构需要重点做的几件事情:
1、业务流程优化
旧系统在功能上或多或少会存在业务上的冗余和缺失,例如对帐模块中的人工对帐、无须对帐、自动对帐, 以前的逻辑是人工对帐和无须对帐都需要入第三方对帐结果表, 而对帐结果表定义的是只有对过帐的数据才会写入,很明显,无须对帐模块根本就没有必要入这个表。 例似于这样的流程在重构的时候是需要做优化的。
2、功能实现机制上的优化
比如导入excel操作,以前是一行行的insert,需要优化成batch insert
3、代码层面的优化
a. 避免过多if/else
b. 类名、方法名修改
c. 去除重复代码
d. 代码行数控制
e. 多用异常、枚举,少用状态码
f. 多用设计模式
重构之后一定要加强代码的单元测试。
分享到:
相关推荐
- **备份与恢复**:在进行任何重大的索引重构之前,建议先做好数据备份,以防万一。 #### 六、总结 通过对Oracle索引重构的不同方式进行了解和分析,我们可以根据实际的需求和系统环境选择最适合的方法。无论是...
- **文档记录**:在整个重构过程中,做好详细的文档记录是非常重要的,这有助于团队成员理解和跟进进度。 #### 六、重构与模式的影响 - **个人层面**:学习和应用重构与模式能够提升个人的技术水平,增强解决问题...
### 重构—改善既有代码的设计 #### 书籍概述 ...通过学习和实践这些重构方法,开发人员可以有效地提高软件项目的质量,并为未来的需求变化做好准备。无论是初学者还是经验丰富的开发者,都能从中受益匪浅。
8. **风险评估**:大型系统的重构需要谨慎,必须对潜在风险有充分的认识,如可能导致的性能影响、与其他组件的交互变化等,这要求在开始重构前做好充分的规划和准备。 9. **重构的时机**:最佳的重构时机通常是当...
5. **记录重构历史**:通过版本控制系统记录每一次重构的历史,便于追踪变更和恢复。 #### 四、重构的具体实践 1. **提取方法**:当发现某段代码执行了多个操作时,可以考虑将其拆分成多个独立的方法。 2. **...
通过持续的重构,可以使代码始终保持良好的状态,为未来的功能添加和需求变更做好准备。 《重构:改善既有代码的设计》不仅提供了丰富的重构技术,还阐述了重构背后的设计理念,对于所有从事软件开发的人员来说,都...
【重构素描:设计素描教学新思路】...总结来说,重构设计素描教学新思路的核心是打破传统模式,注重系统化教学和独特化手段,激发学生的创新思维,培养他们的设计能力和审美素养,以适应快速发展的艺术设计领域的需求。
在现代通信系统中,多核动态可重构处理器(Multi-Core Dynamic Reconfigurable Processor, MCDRP)扮演着至关重要的角色。这类处理器能够根据任务需求进行动态调整,提高性能、降低能耗,并适应不断变化的计算环境。...
信号与系统是电子工程、通信工程、自动化等专业的重要理论基础课程,对于考研的学生来说,理解和掌握这门...通过深入学习和反复练习这些真题,考生可以有效提升对信号与系统知识的理解和应用能力,为考研做好充分准备。
本知识点涉及的是信号与系统的考研复习重点,包括信号的分类、周期信号与非周期信号的...以上内容涵盖了信号与系统的多个核心概念和问题,通过这些知识点的深入理解和掌握,考研学生可以为应对相关考试做好充分的准备。
- **顶层设计与规划**:进行信息化重构首先需要做好顶层设计,包括基础设施的建设和信息化资源的重新配置,建立科学合理的管理体系,确保信息化重构的成功实施。 - **专业人才培养与引进**:职业院校需要加强对...
在本项目中,我们将深入探讨如何使用 Laravel 框架构建一个完整的电商系统,并结合 Laravel-Admin 工具实现后台管理界面的快速搭建。...这将为你的电商项目提供一个坚实的基础,并为未来进一步的扩展和优化做好准备。
- 复习采样定理及相关理论知识,为后续的实验做好理论准备。 2. **实施阶段**: - 根据给定的参数,分别对信号进行临界采样、过采样和欠采样的处理。 - 使用MATLAB实现信号的采样与重构,并记录下相应的结果。 3...
6. **预防措施与持续改进**:讨论如何建立持续优化机制,定期进行系统健康检查,防止问题再次出现,并为未来可能出现的新挑战做好准备。 7. **用友报表**:从"用友报表.rar"来看,可能包含了优化前后的对比报表,...
通过《软考高级系统分析师教程》的学习,考生不仅可以为考试做好充分准备,还能在实际工作中提升自己的专业素养,更好地适应快速发展的IT行业。无论是对于个人职业生涯的发展,还是对于企业的信息系统建设,系统分析...
《C语言版-学生信息管理系统》是一个基于C语言编写的简单信息系统,主要目的是为了管理和处理学生数据。...通过分析和重构这个系统,开发者可以加深对C语言的理解,提升编程技能,并为未来更复杂的项目做好准备。
通过深入学习《软考--系统架构设计师考试大纲(2009版)》中的这些内容,考生可以全面提高自己的系统架构设计技能,为应对考试和实际工作中的挑战做好充分准备。同时,系统架构设计师的角色也需要不断学习和适应新...
因此,BPR的实践需要谨慎且系统的方法指导,确保变革的成功进行。成功的BPR项目能够带来成本降低、质量提升、服务改善和速度加快等多方面的显著提升。 在实际操作中,BPR通常包括以下步骤: 1. **流程分析**:首先...