Shortcuts

贡献代码

欢迎任何类型的贡献,包括但不限于

  • 修改拼写错误或代码错误

  • 添加文档或将文档翻译成其他语言

  • 添加新功能和新组件

工作流

| 详细工作流见 拉取请求

  1. 复刻并拉取最新的 OpenMMLab 算法库

  2. 创建新的分支(不建议使用主分支提拉取请求)

  3. 提交你的修改

  4. 创建拉取请求

注解

如果你计划添加新功能并且该功能包含比较大的改动,建议先开 issue 讨论

代码风格

Python

PEP8 作为 OpenMMLab 算法库首选的代码规范,我们使用以下工具检查和格式化代码

  • flake8: Python 官方发布的代码规范检查工具,是多个检查工具的封装

  • yapf: Google 发布的代码规范检查工具

  • isort: 自动调整模块导入顺序的工具

  • markdownlint: 检查 markdown 文件的工具

  • docformatter: 格式化 docstring 的工具

yapf 和 isort 的配置可以在 setup.cfg 找到

通过配置 pre-commit hook ,我们可以在提交代码时自动检查和格式化 flake8yapfisorttrailing whitespacesmarkdown files, 修复 end-of-filesdouble-quoted-stringspython-encoding-pragmamixed-line-ending,调整 requirments.txt 的包顺序。 pre-commit 钩子的配置可以在 .pre-commit-config 找到。

在克隆算法库后,你需要安装并初始化 pre-commit 钩子

pip install -U pre-commit

切换算法库根目录

pre-commit install

如果安装 markdownlint 遇到了问题,可以尝试使用以下的步骤安装 ruby

# install rvm
curl -L https://get.rvm.io | bash -s -- --autolibs=read-fail
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
rvm autolibs disable

# install ruby
rvm install 2.7.1

或者参考 这个代码库zzruby.sh

至此,每一次 commit 修改都会触发 pre-commit 检查代码格式。

提交拉取请求前,请确保你的代码符合 yapf 的格式

C++ and CUDA

C++ 和 CUDA 的代码规范遵从 Google C++ Style Guide

Read the Docs v: v1.5.0
Versions
latest
stable
v1.5.0
v1.4.8
v1.4.7
v1.4.6
v1.4.5
v1.4.4
v1.4.3
v1.4.2
v1.4.1
v1.4.0
v1.3.18
v1.3.17
v1.3.16
v1.3.15
v1.3.14
v1.3.13
Downloads
On Read the Docs
Project Home
Builds

Free document hosting provided by Read the Docs.