-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Contributing and Code Style
qingen edited this page Apr 2, 2022
·
33 revisions
-
可读性
第一原则。 -
可维护性
模块功能内敛,模块化,多使用组合。 -
风格统一
C++ 采用 Kaldi 代码风格。
Python 采用 Google 代码风格,函数接口使用 type hint 提升可读性,必须有 docstring.
docstring 使用 Python Docstring Generator 插件,默认用 Google (default).
代码格式化工具:pre-commit run -a
docstring 风格转换工具:
使用 Github Projects 管理版本、需求、项目进度。
项目发布 Release Note 时以 Projects 中对应版本关联的 Issue 和 Pull Requests 作为材料。
- 小步快跑。
- 大 PR 只有大 Feature 才可以。
- 开工前先提 PR 便于协作和 review。
- 每次PR需要填上:Project/Milestone 信息。
- 如有关联的 issue:
Fix #333
。 - 提交 PR 前请 pre-commit or clang-format。
- 在 repo 的 Projects 中选择需要修改的 project,如PaddleSpeech。
- 进入 PaddleSpeech 这个project,可以看到 The Plan(Todo list)。在左下角处添加Todo内容(写好题目后回车即可)。添加好以后,注意补全 Assignees, Status 和 milestone 信息。milestone 添加的时候可以转变为 issue,在 repo 的 Issues 中会自动建立这个 Todo。
- 提交 PR,注意在提交的信息中(不是标题)添加
Fix #xxx
(xxx表示 issue 编号)。 - Close issue,并且在 Todo list 中把对应 Todo 的状态改为 Done。
- PaddleSpeech/PaddleAudio 下 CHANGELOG.md
- 按 Feature 添加,样例如下。需要清晰支持什么时间,加了什么功能,以便后续复盘使用。
日期-【新增】Conformer ASR model