没有规矩不成方圆,为了方便大家协作,这里介绍我们的一些合作理念,在协作过程中必须遵守的。
一、合作理念
把团队看做一个公司的话,我们推崇Netflix的企业文化,并期望在合作中,也是贯彻这个文化。 我们特别看重如下理念:
- 期待优秀的同学和渴望成为优秀的同学一起来共同参与这个项目;
- 主动性: 开源项目不是公司项目。我们期待参与同学能够共同讨论、发现和完成需要做的事情、需要改进的事项。
- 承诺必达:最基本的承诺,是加入Cocolian中关于 每周时间投入的承诺。 如果由于各种因素导致投入时间无法保障,需要让团队成员知道,以便协调工作。
二、如何加入
加入之前,请先评估下是否可以参与本项目开发工作:
- 每周有8小时以上的时间可以投入到本项目中。
- 有Java软件开发经验。
- 熟练使用git来做配置管理。
- 熟练使用Eclipse 或者 Intellij 等IDE, 熟悉Java软件开发过程。
- 熟悉MySQL数据库的使用, 可以编写常见的SQL语句。
- 有github账户,熟悉pull-request流程。
如果您满足以上条件,请:
- 务必先访问cocolian的github项目, 确认自己感兴趣并想参与的项目。
- 在“凤凰牌老熊”微信公众号下留言,说明要加入开发团队。
- 我们会回复留言告知加入方式,并邀请加入到开发微信群中。
- 入群后,请提供github账户给群主, 我们将把你加入到项目中。完成后,请在github上确认加入。
三、软件过程
我们采用敏捷软件开发。
- 任务产生: 当用户或者开发人员提交Bug、开发人员提交改进需求等场景下,经过群里讨论,认为这是一个需要解决的问题,将在github上登记一个issue。
- 任务认领: 采用任务主动认领的方式, 开发人员可以在issue中认领任务,完成后关闭该任务。
- 任务执行: 采用pull-request的方式,开发完成后,提交代码到github上,code review通过后,代码被合并到主干。任务完成。
自动发布:
- 我们所有输出都发布到maven中央服务器上。 当任务执行完成后, jenkins(cd.cocolian.cn)会自动下载最新代码执行编译、测试和SNAPSHOT版本发布。
- 当团队成员认可可以发布最终版本后,我们通过jenkins来发布到maven repository上。
四、关于质量
- 我们必须在给定的时间交付产出物。
- 质量是这个项目是否能够持久的基础。 我们看中架构、代码的质量。