Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

为什么我们要利用github来开发 #3

Open
qhwa opened this issue Feb 21, 2012 · 0 comments
Open

为什么我们要利用github来开发 #3

qhwa opened this issue Feb 21, 2012 · 0 comments
Labels

Comments

@qhwa
Copy link

qhwa commented Feb 21, 2012

大家可能都有很多疑问,为什么我们不用我们习惯的开发方式,建一个svn仓库,大家像平常开发需求那样开发?为什么我们要使用 github,而不是google code?为什么我们要麻烦地分成公共仓库和私人仓库?还要发个 pull request 让管理员(就是我。。)来把私人仓库的改动同步回到公共仓库?

我不擅长描述清楚概念,但是我尽量把我的想法写出来。

  1. 沟通!沟通!沟通!
    在我们这个项目中,沟通比平常的项目更重要。
    • 这是探索性的项目,我们清楚我们要实现的目标,但我们无法一开始就确定最终的结构,甚至产品的形态。这将是一个不断摸索、调整、前进的过程。沟通可以避免在错误的尝试上浪费时间,保证我们一致地往最终目标前进。
    • 大家现在分散在不同的团队,平常很难聚一起,不说找一个都有空的时间开一个会,光是每天有5分钟的时间开一个站立晨会都是非常奢侈的事情。每天能有多少的时间看旺旺群的讨论?旺旺群里面抛一个话题,可能要很久才有人回应,也很难有所有人都参与。
    • 我的想法是把沟通分散化、持久化。
  2. 分散化
    不以会议来沟通,而是把沟通分散到开发环节中。具体来讲就是 pull request 机制。
    pull request 是什么?你觉得这个功能应该这样实现,抛出来,希望大家review一下、评价一下、一起讨论一下,就发一个 pull request。大家讨论后没有问题,就同步到公共仓库,就是这样一个过程。
    每个pull request 都是阶段性的一个成果。大家在这样的时机深入了解一下其他伙伴的代码。
    这样会议上的沟通就尽量分散到各个pull request中,每次不用花太多的时间,每天能抽半小时,效果就非常不错了。
  3. 持久化
    旺旺群很方便,但是新进的成员无法看到之前的聊天记录。聊天记录中有价值的话题,混杂在日常的交流中,不能很好地沉淀。
    因此有必要对重要的讨论持久地保存下来。 pull request 的地方非常适合。
  4. Git vs. SVN
    6个人同时开发一个项目,用svn不方便。直接在主干上开发?各种冲突。大家各自打分支开发,然后合并回主干?稍好,但遇到冲突的时候一不留神就会污染主干,一团糟。 Git在分支处理方面非常有优势,因此适合这个项目——小团队并行开发项目。
  5. Github vs Google Code
    Google Code也支持git了。两者都能满足我们的功能需求,但是github更加注重在pull request中沟通

结论:

这样的开发方式也是我们第一次尝试,不过并不是业界的第一次,github自身就是这样的开发方式。希望汲取有益于我们的部分,让我们的开发更顺利

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant