写一个开源项目的过程是什么样的?
最近在看一些优秀开源项目的源码,一般这些项目都是有很多的单元测试,我想问的是比如一个开源项目想添加一个新的feature,那么从这个计划到实现他的过程是什么样的?测试驱动开发or其他什么呢?请大牛们不吝赐教,谢谢。
4 回复
明天我找时间写下 eggjs 团队的协作模式
@atian25 你写在哪里了?
估计最近太忙
@xiaohuame 有点忙…
大概的方式就是如我在专栏提到的
在 eggjs 团队的日常协作中,遵循「基于 GitLab 的硬盘式异步协作模式」。
先通过 issue 发起 RFC 召集讨论,再提交 Pull Request 和 Code Review,这样便于沉淀,即使是当时没有参与讨论的开发者,事后也能通过 issue 了解某个功能设计的前因后果。
简单的说就是:
- 发起一个提案,描述前因后果,以及改进思路,大家讨论。 (比较小的变更可以略过)
- 写代码,发 PR,包含代码,文档,对应的单元测试,都在一个 PR 里。
- CI 集成测试 + Code Review
- 合并到主干
- 合适的时机发 npm 版本。