大型 Android 系统重构实战
黄俊彬
Thoughtworks 资深咨询师
2840 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 29 讲
大型 Android 系统重构实战
15
15
1.0x
00:00/00:00
登录|注册

18|分支:是捷径还是“不归路”?

你好,我是黄俊彬。
前面我们做了组件化架构的重构,经过组件化,软件变得更加高内聚、低耦合,开发及维护的效率也更高了,但是组件化的架构又会引入新的复杂度。
举个例子,在重构前我们基于一个模块一次编译就出一个版本,而组件化架构需要我们同时维护更多的组件版本以及管理更多组件的集成,这就又增加了复杂度。
那么怎么来解决这个问题呢?在持续交付篇,我会带你系统学习分支管理、版本管理、制品管理以及流水线的设计等工程实践,通过自动化来管理增加的这部分复杂度,让组件化的架构能发挥更大的作用。
分支是我们日常进行开发一定会涉及到的工程实践,这节课我将为你讲解如何管理分支,带你熟悉分支的作用、常见的分支模型以及组件化架构分支策略。

分支作用

在版本控制与软件配置管理中,分支是从某个版本的代码或文件中建立复制版本,在分支后的两个版本里都可以独立做修改。
分支有什么作用呢?我先给你举几个研发过程中使用分支的常见场景。
我们有几个功能需要同时在研发,为了互相不干扰,拉取各自的 Feature 分支进行开发。
有多个线上发布版本需要同时维护,为了便于追溯,每个版本都会维护各自的 Release 分支。
线上版本出现 Bug,为了快速修复,基于发布分支拉取 HotFix 分支进行修复。
… …
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

分支管理在软件开发中扮演着重要角色,本文介绍了分支的作用、常见的分支模型以及组件化架构的分支模型设计。作者首先介绍了分支的作用,包括并行开发不同功能、版本发布控制和团队协作。然后详细介绍了三种常用的分支模型:GitFlow模型、短特性分支模型和单主干分支模型。每种模型都有其特点和适用场景,读者可以根据团队需求选择合适的模型。最后,作者还介绍了组件化架构的分支模型设计,针对独立维护迭代的组件和集成发布组件的基座分别提出了适合的分支模型。总的来说,本文通过分析分支管理的重要性和不同的分支模型,为读者提供了在软件开发中合理使用分支的指导,有助于提高团队的研发效率和软件质量。文章还提出了实践过程中拉取分支的六个要点,以及思考题引发读者思考和交流讨论。文章内容丰富,涵盖了分支管理的重要性、常见模型以及实践建议,对软件开发团队具有指导意义。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《大型 Android 系统重构实战》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(2)

  • 最新
  • 精选
  • wh
    请教老师个问题: 在做模块分层的时候,会把网络层放到独立的Module中,那么Bean要不要也放到这个Module中;网络层包括哪些内容?

    作者回复: Hi,wh。 这里我理解你表达的bean是网络返回的数据模型,可以放置到一起。如果业务复杂的话,业务领域可能还有独立的bean,这里可能需要转换。

    2023-03-23归属地:广东
    2
  • peter
    请教老师几个问题: Q1:短特性分支模型怎么保证短时间?为什么GitFlow不能保证短时间? Q2:本文的模型,都是针对git的吗?如果用其他的版本管理工具,也适用吗? Q3:安卓的屏幕适配,有框架吗?有的话,用框架好还是不用框架好?

    作者回复: Hi,peter。 Q1:可以通过控制分支的存在时间来保证。GitFlow设计的目的就是可以支持长期的分支,不是说不能保证。 Q2:不只针对git。分支的思想用于其他的版本管理工具也一样。 Q3:目前我了解的没有特别好的框架。

    2023-03-22归属地:山西
收起评论
显示
设置
留言
2
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部