如何处理定制化需求
- 痛点
- 对于定制化需求, 并不会引入到正规的代码流中, 一般情况下会checkout出一个分支, 来专门做这里定制化需求, 然后单独发版. 使用分支模式的缺点有:
- 更新问题
- 每次正规代码更新都要合并到该分支. 当分支较多时分支图就会比较混乱
- 正规代码合并是必然会带来风险的, 比如项目结构变动, 依赖库变动. 都可能导致定制化的代码失效
- 更新问题
- 对于定制化需求, 并不会引入到正规的代码流中, 一般情况下会checkout出一个分支, 来专门做这里定制化需求, 然后单独发版. 使用分支模式的缺点有:
- 解决办法
- 减少代码耦合
- 尽量将定制化需求模块化, 最小化和正规代码之间的接触面. 这是解决该问题最根本的方式.
- 检验方式是结构变化时, 没有或很少适配代码
- 尽量将定制化需求模块化, 最小化和正规代码之间的接触面. 这是解决该问题最根本的方式.
- 考虑通过代码层面区分
- 例如通过权限系统来配置. 通过后端接口动态配置
- 优先使用fork模式
- 有些场景确实无法通过代码层面解决, 比如ios应用定制启动图, icon, 应用名称, 外观等等. 这种方式优先使用fork模式, fork模式和分支模式没本质区别, 但是至少可以避免干扰正规开发流程
- 减少代码耦合