index_cn.rst 1.4 KB
Newer Older
L
Luo Tao 已提交
1 2
开发标准
========
D
dongzhihong 已提交
3 4
PaddlePaddle遵守如下三个部分的开发标准。
- 代码风格
D
dongzhihong 已提交
5
  Paddle中包含了Cuda, C++, Python, Shell等多种编程语言。Cuda, C++的开发标准遵守Google C++ Style, 并加入了一些定制规则,https://github.com/PaddlePaddle/cpp-primer-digest。Python的开发标准遵守PEP-8标准, Shell遵守Google Shell Style。以上风格在提交代码时候, 代码库会通过pre-commit, clang-format自动化工具做风格检查。不满足风格要求的代码会编译失败。pre-commit也会自动format, 协助修改代码格式。
D
dongzhihong 已提交
6 7 8 9 10 11

- 文档格式
  Paddle面向国内外用户,包含了中文和英文两部分的文档。设计文档和issue问题描述都推荐使用英文。对于设计文档,重在问题描述,背景阐述,然后才是解决方案。API文档由Sphinx生成,因此代码注释需要符合Sphinx文档标准。同样的,Paddle的集成测试工具会检测文档格式。推荐本地使用docker编译生成文档,本地修复文档。

- 框架定制
  Paddle V2使用新增Layer方式定义新的操作。定制Layer前请参阅已有的Layer, 如有通用性, 欢迎提交Layer实现。如何定制一个新的Layer见如下表。
L
Luo Tao 已提交
12

D
dongzhihong 已提交
13 14
此外,Paddle项目推荐使用docker作为开发环境。对于GPU环境,使用nvidia-docker,统一开发和集成环境。

L
Luo Tao 已提交
15 16 17 18 19
..  toctree::
  :maxdepth: 1

  contribute_to_paddle_cn.md
  write_docs_cn.rst
L
Luo Tao 已提交
20
  new_layer_cn.rst