飞桨 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.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
我在 PaddlePaddle/Paddle#43656 中提出了关于完善飞桨 API 文档写作标准的 Roadmap。这个 Issue 会先以评论的形式记录飞桨 API 文档中的各类不规范之处及其规范化方案,待其覆盖方面到达一定程度后再整理汇总成一份完整、正规的 API 文档写作规范。👏欢迎有兴趣的同学加入进来!
已经提出的点
Beta Was this translation helpful? Give feedback.
All reactions