提交设计方案

前面章节提到了很多种类的修改,比如 Bug 修复、文档完善,这些都可以通过 GitHub 的 PR 工作流程来实现;但与此不同的是,如果您想要在 MatrixOne 中实现新的功能或增添新的组件,都不仅仅是一个 Idea 这么简单,我们鼓励您提出想法的同时还制定相应的设计方案,将其表达为技术设计文档。
因此,本节的目的正是引导您撰写一份技术设计文档,以期可以为这个新功能提供一个更加权威的、大众化的解释,各方人员可以更深入地了解这个模块的核心理念与发展方向。

准备工作

与其他工作一样,在开始之前,尽量做足准备,这样不仅可以提高您的工作效率,还可以增加方案通过的可能性;相反,一份粗糙而随意的设计文件可能会因为质量太差而吃到闭门羹。
我们鼓励您向有经验的开发人员寻求帮助,通过他们的建议您可以修正设计架构并完善技术细节。 您可以在前往 Github,提交一个 Feature RequestRefactoring Request 来向大家展示您的想法。

一般流程

通常,从头到尾地完成一项技术设计需要以下步骤:

  • 在 GitHub 上提出 Issue,描述该功能想要解决的问题、目标、大致解决方案。
  • 在得到管理者与其他开发者的回应,听取相关建议,然后对您的想法做进一步修改。
  • 按照模板撰写技术设计文档并创建 PR。
  • 与 Reviewers 交流,并按要求做相应的修改。
  • 当至少有两个 Committer 达成一致且其他 Committer 没有异议时,设计文件即被接受,反之亦然。
  • 如果提议被接受,那就请为该提议创建一个 tracking issue,或者将之前讨论的 issue 转换为 tracking issue,后续不断跟踪子任务和开发进度。
  • 合并该设计的 Pull Request。
  • 开始着手实现。

请及时查看子任务的 Tracking issue 来跟踪任务开发进程。