- 无论我们微信、高德等应用都是伴随着用户数量增长,业务需求变化,整个项目从小到大,有浅到深一个演化递进的过程,项目从雏形交互应用到一个大型用户业务体验平台,从2-3个工程师到一个大型开发团队。由一开始几个页面粗糙的交互应用,到n+页面复杂的交互,体验的细挖到一个登录注册可能有上千次的优化和修改。
- 那为什么需要重构,什么时候重构呢?
- 为什么重构:由于功能模块新增,交互体验优化,业务量增加,原有的项目架构会出现,维护困难,新增功能模块难度大,修改业务工作量大,bug问题排除困难。
- 什么时候重构:用数据举例来说吧,当应用用户>0时只需要项目功能实现,当用户>10w开始注重项目功能需求,当用户>100w开始注重项目性能和稳定性,当用户>n+w开始注重用户交互一个极致体验。在不同阶段,随着业务需求变化,项目架构也需要变化,这个变化也许可以重复去重构,但越到后面重构的工作量、重构的难度、重构的时间周期、重构的成本会越来越大,所以更应该去形成一个可进化的架构也就是延伸未来业务扩展的架构,当然这难度很大,需要更多的去学习,去沉淀…..
- 在这里,我认为重构可以分为三个阶段,接下来说下重构三个阶段吧…..
-
重构第一阶段
- 准备工作:
- 1:整个项目从上层到底层,功能和业务渐进了解到形成一个系统性的认识。
- 2:整个项目对现有架构认识,性能评估以及产品定位。
- 3:结合项目实际情况以及未来产品定位构思合适架构以及实现方式。
- 重构目标:
- 1:项目架构雏形形成,不断完善进化。
- 2:项目问题确认、评估、排除和解决。
- 3:提高项目代码质量和产品稳定性。
-
重构第二阶段
- 准备工作:
- 1:初步完成(核心功能)的深入理解其原理。
- 2:初步(核心功能)代码结构调整。
- 工作规划:先优化重构(核心功能)再进行项目二次优化重构。
- 重构目标:
- 1:细分了解交互业务。
- 2:(核心功能)的深入理解其原理。
- 3:结合(核心功能)原理深入理解和交互业务细分了解进行二次项目优化和代码重构。
-
重构第三阶段(重构目标)
- 重构目标:
- 1:项目每个模块定位清晰明确。
- 2:项目成熟软件架构,代码风格优雅、内容高质量,开发严格按照合理的设计模式和编程思想基本原则。
- 3:项目功能交互上的一个极致体验,功能上不卡顿不闪退,交互上满足每一个产品需求细节。
- 工作规划:未来+++???。
-
总结
-
在重构的过程中,期间需要不断去学习和面对问题,需要不断总结曾经的知识经验和提升面向未来的思维方式。
浅谈项目重构重要性
最新推荐文章于 2024-05-10 08:44:12 发布