Skip to content


分支模式-并行软件开发的分支模式

前一段时间,看到一篇关于分支模式的论文,是Brad Appleton 、Stephen P. Berczuk、Ralph Cabrera 、Robert Orenstein 于PLoP‘98 会议上发表的“Streamed Lines: Branching Patterns for Parallel Software Development” ,在阿良、Microke基本翻译的基础上,我开始进行完整的翻译,后面我会陆续发出来,请大家欣赏,这里是第一部分,是microke做的一个总结。

 

并行软件开发企业级环境下软件开发的一种不可避免的模式,这种开发模式可以说是任何大中型软件产品和项目所必需的。然而,并行开发在为我们的开发效率提高保证的同时,也会给我们的开发管理带来诸多问题:

  • 什么时候进行分支
  • 什么时候进行合并?
  • 如何选择有效的分支策略?
  • 如何保证不同分支上的代码同步问题?
  • 如果建立对分支访问控制的授权机制?
  • 如何避免频繁的合并冲突?
  • 如何处理被复用的代码?
  • ……

    可以说并行开发中的分支与合并是一个涉及到环境、方法和技术平台等诸多因素的综合性难题,在这种场合下,“模式(Pattern)”可能是解决上述问题的一个很好的工具。所谓模式,其实就是解决某一类问题的方法论。你把解决某类问题的方法总结归纳到理论高度,那就是模式。Alexander给出的经典定义是:每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心。通过这种方式,你可以无数次地使用那些已有的解决方案,无需在重复相同的工作。
    在不同的领域有不同的模式,具体到并行开发领域,“分支模式”是专门针对并行开发环境下分支及合并作业中的各种不同的操作方法抽象出来的一套方法论。其主要由以下几部分组成(如下图所示):

结构模式——通过约束和指导分支/代码线的整体结构,实现并行开发的组织结构、开发模式及开发过程的约束和指导。
规则模式——通过对特定分支/代码线实施的约束,实现对该分支/代码线相关的操作进行约束,如访问控制及合并等操作的约束。
创建模式——提供对分支/代码线创建的约束
反模式——以反例的方式展示并行开发中常见的行为误区和陷阱,并提供有效的解决方案。
    分支模式在并行开发中的应用难点有两个:一是如何根据企业的实际情况选择适合的分支模式,二是如何构建一个技术平台来将这些分支模式的理论和方法有效的应用于实践。为此,我们专门在此开辟专栏和大家分享并行开发中分支模式相关的理论、方法以及如何将这些理论和方法付诸实现的相关实践。

Related posts:

  1. 分支模式-软件配置管理(SCM)模式介绍

Posted in subversion.

0 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.

Some HTML is OK

(required)

(required, but never shared)

or, reply to this post via trackback.