Skip to content

Contributing and Code Style

qingen edited this page Apr 2, 2022 · 33 revisions

Contributing and Code Style

Coding Standards

  • 可读性
    第一原则。

  • 可维护性
    模块功能内敛,模块化,多使用组合。

  • 风格统一
    C++ 采用 Kaldi 代码风格。
    Python 采用 Google 代码风格,函数接口使用 type hint 提升可读性,必须有 docstring.
    docstring 使用 Python Docstring Generator 插件,默认用 Google (default).
    代码格式化工具:pre-commit run -a
    docstring 风格转换工具:

Project Management

使用 Github Projects 管理版本、需求、项目进度。

项目发布 Release Note 时以 Projects 中对应版本关联的 Issue 和 Pull Requests 作为材料。

  • 先将 plan 在 Projects 中发布。注意 plan 名称风格。
  • 开工前先发布 issue。
  • 遗留项在 Projects 中发布新的 plan。
  • 工作开始于此,结束于此。

Pull Request

Tips

  • 小步快跑。
  • 大 PR 只有大 Feature 才可以。
  • 开工前先提 PR 便于协作和 review。
  • 每次PR需要填上:Project/Milestone 信息。
  • 如有关联的 issue: Fix #333
  • 提交 PR 前请 pre-commit or clang-format。

PR Process

  1. 在 repo 的 Projects 中选择需要修改的 project,如PaddleSpeech。
  2. 进入 PaddleSpeech 这个project,可以看到 The Plan(Todo list)。在左下角处添加Todo内容(写好题目后回车即可)。添加好以后,注意补全 Assignees, Status 和 milestone 信息。milestone 添加的时候可以转变为 issue,在 repo 的 Issues 中会自动建立这个 Todo。
  3. 提交 PR,注意在提交的信息中(不是标题)添加Fix #xxx (xxx表示 issue 编号)。
  4. Close issue,并且在 Todo list 中把对应 Todo 的状态改为 Done。

Changlog

  • PaddleSpeech/PaddleAudio 下 CHANGELOG.md
  • 按 Feature 添加,样例如下。需要清晰支持什么时间,加了什么功能,以便后续复盘使用。
    日期-【新增】Conformer ASR model

Reference