飞桨 API 文档的不规范之处及其规范化方案汇总 #5243
Replies: 11 comments 5 replies
-
一元数学函数类 API 的统一写法按理说 paddle.sin 和 paddle.cos 的文档是只有“正”和“余”两个字的区别的,但目前它们的写法却完全不同。事实上,这类一元数学函数的 API 文档可以有一个统一写法。这里以 paddle.erf 为例给出一个一元数学函数 API 的写法示例。
写作要点有
|
Beta Was this translation helpful? Give feedback.
-
外国人名的处理在正规的中文环境中,外国人名一律应当翻译。然而飞桨 API 中文文档中几乎都没有译出人名,甚至连中国人名也使用拼音(paddle.nn.PixelShuffle、paddle.nn.initializer.KaimingNormal)。在 docs·wiki 下的深度学习常用术语表对人名的处理也十分不统一,比如把 Gibbs steps 译为了吉布斯步数而 Gibbs Sampling 却译为 Gibbs 采样。 事实上大多数人不能正确读对外国人名,比如 Galois (/ɡælˈwɑː/) 和 Euler (/ˈɔɪlər/)。所以将人名译为汉语才能有利于交流。基本规则为:汉字文化圈(日本、韩国、朝鲜等)的人名按其汉字写法翻译,非汉字文化圈国家的人名按各国语言的发音来翻译。大多数学者的中文名可以在互联网上找到,若他有中文维基百科,则使用维基百科上的译名。 |
Beta Was this translation helpful? Give feedback.
-
一些五花八门的符号的用法的统一
|
Beta Was this translation helpful? Give feedback.
-
标点符号问题在中文文档中应该使用全角标点符号,但有三个地方例外:
中的「(」、「)」、「|」和「-」
中文标点符号的用法参考这里。 关于使用全角句点的建议在中文科技文排版中一般会使用全角的「.」而不是「。」。因为当行间公式作为句子的结束时句号需要放在公式内部,比如
于是用「.」代替「。」可以让所有的句号在视觉效果上达到一致。 |
Beta Was this translation helpful? Give feedback.
-
代码、字面量等特殊内容的表现形式当我们提到 API 的某个参数时,我们应该把它放在一个行内代码块中,像 另外,在解释 API 参数的含义时,也会经常提到 None、True、False、1.0 等编程语言中的字面量,以及 Tensor、int、int32 等表示类型的词。这些内容在飞桨文档中的展现形式还没有统一,有行内代码块、纯文本和斜体形式。根据 @SigureMo 的调研,像 :attr:`x` 这样的形式在 rst 中叫做 role,而 Sphinx 支持自定义 role。于是我们计划为下面这几类的内容分别定义 role,以便在前端展示出不同的效果:
|
Beta Was this translation helpful? Give feedback.
-
参数可选值详情以列表的形式展开很多参数会有多个可选值,但是目前在展示可选值的意义的时候经常是写在一行里的,比如 SmoothL1Loss(正在 #5211 修改,可能过两天这个就改了),个人认为展示可选值最好是直接写成列表的形式,每个可选值作为一个列表项,这里有一个前两天 #5136 刚改好的例子 Pad1D,个人认为这样会比较清晰,可选值都有哪些一目了然。(一些前置的探讨也可以见 #5136) 因此建议有可选值的参数采用以下格式: - a (str, optional): 一段描述。可选值为 ``'x'``、``'y'`` 或 ``'z'``,默认值为 ``'x'``。
- ``'x'`` 表示 xxx;
- ``'y'`` 表示 yyy;
- ``'z'`` 表示 zzz。
- b (str, optional): xxxx。
可能存在的争议点:
- a (str, optional): 一段描述。可选值为 ``'x'``、``'y'`` 或 ``'z'``。
- ``'x'`` 表示 xxx;
- ``'y'`` 表示 yyy;
- ``'z'`` 表示 zzz。
默认值为 ``'x'``。
- b (str, optional): xxxx。 |
Beta Was this translation helpful? Give feedback.
This comment was marked as off-topic.
This comment was marked as off-topic.
-
数学公式的写法尽量不使用单词作为公式中的变量名很多 API 的参数名就是某个希腊字母的英文,比如 像
若在特殊情况下必须在公式中出现一个单词,则应当使用打字机字体,比如 特殊函数、特殊常数应该使用正体像三角函数、反三角函数、对数函数这些「特殊函数」,应当使用正体,写成 自然对数的底 分段函数的写法下面是把绝对值函数写成分段函数的例子: |x|=\begin{cases}
x,&x\geqslant0;\\
-x,&x<0.
\end{cases} 其中的标点符号是需要注意的。 未完待续 |
Beta Was this translation helpful? Give feedback.
-
API文档在IDE环境中的展示现在我们考虑的主要是API文档在网页端的展示。另外一个很重要的展示API文档的渠道是,在程序员使用的IDE环境中。 API文档在这些IDE环境中,应该也是需要正常能展示出来的。 |
Beta Was this translation helpful? Give feedback.
-
我们曾经维护过一个常见文档的写法的模板,但后来不再更新了:https://github.com/PaddlePaddle/docs/blob/develop/docs/templates/common_docs.py 。 也许我们可以维护一份常见文档的写法,并推广使用。 |
Beta Was this translation helpful? Give feedback.
-
文档格式规范这里用于记录和讨论文档格式规范
其它内容待定 关于缩进的统计
|
Beta Was this translation helpful? Give feedback.
-
我在 PaddlePaddle/Paddle#43656 中提出了关于完善飞桨 API 文档写作标准的 Roadmap。这个 Issue 会先以评论的形式记录飞桨 API 文档中的各类不规范之处及其规范化方案,待其覆盖方面到达一定程度后再整理汇总成一份完整、正规的 API 文档写作规范。👏欢迎有兴趣的同学加入进来!
已经提出的点
Beta Was this translation helpful? Give feedback.
All reactions