Skip to content

Latest commit

 

History

History
48 lines (32 loc) · 2.04 KB

CONTRIBUTING_zh-CN.md

File metadata and controls

48 lines (32 loc) · 2.04 KB

贡献代码

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

  • 修改拼写错误或代码错误
  • 添加文档或将文档翻译成其他语言
  • 添加新功能和新组件

工作流

  1. 复刻并拉取最新的 OpenMMLab 算法库
  2. 创建新的分支(不建议使用主分支提拉取请求)
  3. 提交你的修改
  4. 创建拉取请求

注意:如果你的 PR 希望对代码进行大的改动(例如添加大的功能、进行代码重构等),请先开一个新的 issue 进行充分讨论,便于我们理解改动的动机和计划,并一同推动改动的合入。

代码风格

Python

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

  • flake8: Python 官方发布的代码规范检查工具,是多个检查工具的封装
  • isort: 自动调整模块导入顺序的工具
  • yapf: Google 发布的代码规范检查工具
  • codespell: 检查单词拼写是否有误
  • mdformat: 检查 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

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