Skip to content
saberma edited this page Nov 13, 2011 · 3 revisions

Github Issue

所有的代码提交都要与issue关联

  1. 非终结性的commit提交时,message后要带issue号,格式为 #123
  2. 终结性的commit提交时,message前直接带上功能性标记,bug修正使用fixed,功能开发重构等使用close,例如:fixed #123或者close #123

每次发版本时,将根据issue记录编写changelog

issue的粒度不宜过粗

例如: issue标题为用户管理,则此issue的粒度就过粗,可以分解为: 用户注册、用户登录、用户登录后看到的后台等等

所有issue提交时,统一assign给@saberma

由saberma对所有功能变动、Bug修正进行控制,并进行统一分配

代码质量

手动测试功能正确的不算,只有被测试覆盖的代码才能称得上代码,以保证后来者的改动破坏到现有功能时能被及时提醒

所有的开发工作都要编写相应的测试用例

测试用例分集成测试、单元测试;判断是否需要集成测试的标准是:只要是用户能够进行的操作都要有相应的集成测试;只要是内部使用的方法都要有相应的单元测试

由@saberma对每个关闭的issue进行检查,对于发生以下情况的issue要reopen

  1. 缺少测试的
  2. 测试覆盖不到位;例如用户注册的操作,除了要测试正常流程,还要测试校验流程
  3. 测试断言不正确;例如测试用户注册操作正确后,不能只通过判断是否存在"注册成功"字样,还要测试是否正确回显用户名

所有bug都要通过测试用例重现问题后才能修正

发现问题后不要直接处理,要先提交issue,以便日后跟踪;并在测试用例注释上相应的issue号,格式为 # issues#123

对于无法修正的,要将issue转至@saberma确认

Gem

版本发布后,尽量减少Gem更新的频率,以减少这些变动因素对系统稳定性的影响

加入新的Gem时要注释描述此Gem的用途

Gem无法使用当前发布版本时,要写上当前发布的版本,以及无法使用的原因

方便日后对其进行更新维护

对Gem进行fork操作修改后,要尽量将改动合并到官方版本

发pull request给作者,描述改动的原因,一般都会被合并

其他

待完善