最近我们技术老大,让我自己写一份优秀的文档,我很少写这个,但是作为技术又不得不写,几经波折之后,找到了阮一峰大神的笔记,做了参考:

标题

层级

标题分为四级。

  • 一级标题:文章的标题
  • 二级标题:文章主要部分的大标题
  • 三级标题:二级标题下面一级的小标题
  • 四级标题:三级标题下面某一方面的小标题

下面是示例。

Python
# 一级标题 ## 二级标题 ### 三级标题 #### 四级标题
1
2
3
4
5
6
7
8

# 一级标题
## 二级标题
### 三级标题
#### 四级标题

原则

(1)一级标题下,不能直接出现三级标题。

示例:下面的文章结构,缺少二级标题。

Python
# 一级标题 ### 三级标题
1
2
3
4

# 一级标题
### 三级标题

(2)标题要避免孤立编号(即同级标题只有一个)。

示例:下面的文章结构,二级标题 A只包含一个三级标题,完全可以省略三级标题 A

Python
## 二级标题 A ### 三级标题 A ## 二级标题 B
1
2
3
4
5
6

## 二级标题 A
### 三级标题 A
## 二级标题 B

(3)下级标题不重复上一级标题的名字。

示例:下面的文章结构,二级标题与下属的三级标题同名,建议避免。

Python
## 概述 ### 概述
1
2
3
4

## 概述
### 概述

(4)谨慎使用四级标题,尽量避免出现,保持层级的简单,防止出现过于复杂的章节。

如果三级标题下有并列性的内容,建议只使用项目列表(Item list)。

示例:下面的结构二要好于结构一。后者适用的场景,主要是较长篇幅的内容。

Python
结构一 ### 三级标题 #### 四级标题 A #### 四级标题 B #### 四级标题 C 结构二 ### 三级标题 **(1)A** **(2)B** **(3)C**
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

结构一
### 三级标题
#### 四级标题 A
#### 四级标题 B
#### 四级标题 C
结构二
### 三级标题
**(1)A**
**(2)B**
**(3)C**

文本

字间距

全角中文字符与半角英文字符之间,应有一个半角空格。

Python
错误:本文介绍如何快速启动Windows系统。 正确:本文介绍如何快速启动 Windows 系统。
1
2
3
4

错误:本文介绍如何快速启动Windows系统。
正确:本文介绍如何快速启动Windows系统。

全角中文字符与半角阿拉伯数字之间,有没有半角空格都可,但必须保证风格统一,不能两种风格混杂。

Python
正确:2011年5月15日,我订购了5台笔记本电脑与10台平板电脑。 正确:2011 年 5 月 15 日,我订购了 5 台笔记本电脑与 10 台平板电脑。
1
2
3
4

正确:2011年5月15日,我订购了5台笔记本电脑与10台平板电脑。
正确:2011年5月15日,我订购了5台笔记本电脑与10台平板电脑。

半角的百分号,视同阿拉伯数字。

英文单位若不翻译,单位前的阿拉伯数字与单位间不留空格。

Python
错误:一部容量为 16 GB 的智能手机 正确:一部容量为 16GB 的智能手机
1
2
3
4

错误:一部容量为16GB的智能手机
正确:一部容量为16GB的智能手机

半角英文字符和半角阿拉伯数字,与全角标点符号之间不留空格。

Python
错误:他的电脑是 MacBook Air 。 正确:他的电脑是 MacBook Air。
1
2
3
4

错误:他的电脑是MacBook Air。
正确:他的电脑是MacBook Air。

句子

  • 避免使用长句。句子内部不使用逗号时,总长度不应该超过 40 个字;使用逗号时,总长度不应该超过 100 字或者正文的 3 行。
  • 尽量使用简单句和并列句,避免使用复合句。

写作风格

1、尽量不使用被动语态,改为使用主动语态。

Python
错误:假如此软件尚未被安装, 正确:假如尚未安装这个软件,
1
2
3
4

错误:假如此软件尚未被安装,
正确:假如尚未安装这个软件,

2、不使用非正式的语言风格。

Python
错误:Lady Gaga 的演唱会真是酷毙了,从没看过这么给力的表演!!! 正确:无法参加本次活动,我深感遗憾。
1
2
3
4

错误:Lady Gaga的演唱会真是酷毙了,从没看过这么给力的表演!!!
正确:无法参加本次活动,我深感遗憾。

3、不使用冷僻、生造或者文言文的词语,而要使用现代汉语的常用表达方式。

Python
错误:这是唯二的快速启动的方法。 正确:这是仅有的两种快速启动的方法。
1
2
3
4

错误:这是唯二的快速启动的方法。
正确:这是仅有的两种快速启动的方法。

4、用对“的”、“地”、“得”。

Python
她露出了开心的笑容。 (形容词+的+名词) 她开心地笑了。 (副词+地+动词) 她笑得很开心。 (动词+得+副词)
1
2
3
4
5
6
7
8
9

她露出了开心的笑容。
(形容词+的+名词)
她开心地笑了。
(副词+地+动词)
她笑得很开心。
(动词+得+副词)

5、使用代词时(比如“其”、“该”、“此”、“这”等词),必须明确指代的内容,保证只有一个含义。

Python
错误:从管理系统可以监视中继系统和受其直接控制的分配系统。 正确:从管理系统可以监视两个系统:中继系统和受中继系统直接控制的分配系统。
1
2
3
4

错误:从管理系统可以监视中继系统和受其直接控制的分配系统。
正确:从管理系统可以监视两个系统:中继系统和受中继系统直接控制的分配系统。

6、名词前不要使用过多的形容词。

Python
错误:此设备的使用必须在接受过本公司举办的正式的设备培训的技师的指导下进行。 正确:此设备必须在技师的指导下使用,且指导技师必须接受过由本公司举办的正式设备培训。
1
2
3
4

错误:此设备的使用必须在接受过本公司举办的正式的设备培训的技师的指导下进行。
正确:此设备必须在技师的指导下使用,且指导技师必须接受过由本公司举办的正式设备培训。

7、不包含任何标点符号的单个句子,或者以逗号分隔的句子构件,长度尽量保持在 20 个字以内;20~29 个字的句子,可以接受;30~39 个字的句子,语义必须明确,才能接受;多于 40 个字的句子,在任何情况下都不能接受。

Python
错误:本产品适用于从由一台服务器进行动作控制的单一节点结构到由多台服务器进行动作控制的并行处理程序结构等多种体系结构。 正确:本产品适用于多种体系结构。无论是由一台服务器(单一节点结构),还是由多台服务器(并行处理结构)进行动作控制,均可以使用本产品。
1
2
3
4

错误:本产品适用于从由一台服务器进行动作控制的单一节点结构到由多台服务器进行动作控制的并行处理程序结构等多种体系结构。
正确:本产品适用于多种体系结构。无论是由一台服务器(单一节点结构),还是由多台服务器(并行处理结构)进行动作控制,均可以使用本产品。

8、同样一个意思,尽量使用肯定句表达,不使用否定句表达。

Python
错误:请确认没有接通装置的电源。 正确:请确认装置的电源已关闭。
1
2
3
4

错误:请确认没有接通装置的电源。
正确:请确认装置的电源已关闭。

9、避免使用双重否定句。

Python
错误:没有删除权限的用户,不能删除此文件。 正确:用户必须拥有删除权限,才能删除此文件。
1
2
3
4

错误:没有删除权限的用户,不能删除此文件。
正确:用户必须拥有删除权限,才能删除此文件。

英文处理

英文原文如果使用了复数形式,翻译成中文时,应该将其还原为单数形式。

Python
英文:⋯information stored in random access memory (RAMs)⋯ 中文:……存储在随机存取存储器(RAM)里的信息……
1
2
3
4

英文:⋯information stored inrandomaccess memory(RAMs)⋯
中文:……存储在随机存取存储器(RAM)里的信息……

外文缩写可以使用半角圆点(.)表示缩写。

Python
U.S.A. Apple, Inc.
1
2
3

U.S.A.
Apple,Inc.

表示中文时,英文省略号()应改为中文省略号(……)。

Python
英文:5 minutes later⋯ 中文:5 分钟过去了⋯⋯
1
2
3
4

英文:5minutes later⋯
中文:5分钟过去了⋯⋯

英文书名或电影名改用中文表达时,双引号应改为书名号。

Python
英文:He published an article entitled "The Future of the Aviation". 中文:他发表了一篇名为《航空业的未来》的文章。
1
2
3
4

英文:He published an article entitled"The Future of the Aviation".
中文:他发表了一篇名为《航空业的未来》的文章。

第一次出现英文词汇时,在括号中给出中文标注。此后再次出现时,直接使用英文缩写即可。

Python
IOC(International Olympic Committee,国际奥林匹克委员会)。这样定义后,便可以直接使用“IOC”了。
1
2

IOC(International Olympic Committee,国际奥林匹克委员会)。这样定义后,便可以直接使用“IOC”了。

专有名词中每个词第一个字母均应大写,非专有名词则不需要大写。

Python
“American Association of Physicists in Medicine”(美国医学物理学家协会)是专有名词,需要大写。 “online transaction processing”(在线事务处理)不是专有名词,不应大写。
1
2
3
4

“American Association of Physicists inMedicine”(美国医学物理学家协会)是专有名词,需要大写。
“online transaction processing”(在线事务处理)不是专有名词,不应大写。

段落

原则

  • 一个段落只能有一个主题,或一个中心句子。
  • 段落的中心句子放在段首,对全段内容进行概述。后面陈述的句子为核心句服务。
  • 一个段落的长度不能超过七行,最佳段落长度小于等于四行。
  • 段落的句子语气要使用陈述和肯定语气,避免使用感叹语气。
  • 段落之间使用一个空行隔开。
  • 段落开头不要留出空白字符。

引用

引用第三方内容时,应注明出处。

Python
One man’s constant is another man’s variable. — Alan Perlis
1
2

One man’sconstant isanother man’svariable.—Alan Perlis

如果是全篇转载,请在全文开头显著位置注明作者和出处,并链接至原文。

Python
本文转载自 WikiQuote
1
2

本文转载自WikiQuote

使用外部图片时,必须在图片下方或文末标明来源。

Python
本文部分图片来自 Wikipedia
1
2

本文部分图片来自Wikipedia

数值

半角数字

数字一律使用半角形式,不得使用全角形式。

Python
错误: 这件商品的价格是1000元。 正确: 这件商品的价格是 1000 元。
1
2
3
4

错误:这件商品的价格是1000元。
正确:这件商品的价格是1000元。

千分号

数值为千位以上,应添加千分号(半角逗号)。

Python
XXX 公司的实收资本为 RMB1,258,000。
1
2

XXX公司的实收资本为RMB1,258,000。

对于 4 ~ 6 位的数值,千分号是选用的,比如10001,000都可以接受。对于7位及以上的数值,千分号是必须的。

多位小数要从小数点后从左向右添加千分号,比如4.234,345

货币

货币应为阿拉伯数字,并在数字前写出货币符号,或在数字后写出货币中文名称。

Python
$1,000 1,000 美元
1
2
3

$1,000
1,000美元

数值范围

表示数值范围时,用连接。参见《标点符号》一节的“连接号”部分。

带有单位或百分号时,两个数字都要加上单位或百分号,不能只加后面一个。

Python
错误:132~234kg 正确:132kg~234kg 错误:67~89% 正确:67%~89%
1
2
3
4
5
6

错误:132~234kg
正确:132kg~234kg
错误:67~89%
正确:67%~89%

变化程度的表示法

数字的增加要使用“增加了”、“增加到”。“了”表示增量,“到”表示定量。

Python
增加到过去的两倍 (过去为一,现在为二) 增加了两倍 (过去为一,现在为三)
1
2
3
4
5
6

增加到过去的两倍
(过去为一,现在为二)
增加了两倍
(过去为一,现在为三)

数字的减少要使用“降低了”、“降低到”。“了”表示增量,“到”表示定量。

Python
降低到百分之八十 (定额是一百,现在是八十) 降低了百分之八十 (原来是一百,现在是二十)
1
2
3
4
5
6

降低到百分之八十
(定额是一百,现在是八十)
降低了百分之八十
(原来是一百,现在是二十)

不能用“降低N倍”或“减少N倍”的表示法,要用“降低百分之几”或“减少百分之几”。因为减少(或降低)一倍表示数值原来为一百,现在等于零。

标点符号

原则

  • 中文语句的标点符号,均应该采取全角符号,这样可以保证视觉的一致。
  • 如果整句为英文,则该句使用英文/半角标点。
  • 句号、问号、叹号、逗号、顿号、分号和冒号不得出现在一行之首。

句号

中文语句中的结尾处应该用全角句号()。

句子末尾用括号加注时,句号应在括号之外。

Python
错误:关于文件的输出,请参照第 1.3 节(见第 26 页。) 正确:关于文件的输出,请参照第 1.3 节(见第 26 页)。
1
2
3
4

错误:关于文件的输出,请参照第1.3节(见第26页。)
正确:关于文件的输出,请参照第1.3节(见第26页)。

逗号

逗号表示句子内部的一般性停顿。

注意避免“一逗到底”,即整个段落除了结尾,全部停顿都使用逗号。

顿号

句子内部的并列词,应该用全角顿号() 分隔,而不用逗号,即使并列词是英语也是如此。

Python
错误:我最欣赏的科技公司有 Google, Facebook, 腾讯, 阿里和百度等。 正确:我最欣赏的科技公司有 Google、Facebook、腾讯、阿里和百度等。
1
2
3
4

错误:我最欣赏的科技公司有Google,Facebook,腾讯,阿里和百度等。
正确:我最欣赏的科技公司有Google、Facebook、腾讯、阿里和百度等。

英文句子中,并列词语之间使用半角逗号(,)分隔。

Python
例句:Microsoft Office includes Word, Excel, PowerPoint, Outlook and other components.
1
2

例句:Microsoft Office includes Word,Excel,PowerPoint,Outlook andother components.

分号

分号表示复句内部并列分句之间的停顿。

引号

引用时,应该使用全角双引号(“ ”),注意前后双引号不同。

Python
例句:许多人都认为客户服务的核心是“友好”和“专业”。
1
2

例句:许多人都认为客户服务的核心是“友好”和“专业”。

引号里面还要用引号时,外面一层用双引号,里面一层用单引号(‘ ’),注意前后单引号不同。

Python
例句:鲍勃解释道:“我要放音乐,可萨利说,‘不行!’。”
1
2

例句:鲍勃解释道:“我要放音乐,可萨利说,‘不行!’。”

圆括号

补充说明时,使用全角圆括号(),括号前后不加空格。

Python
例句:请确认所有的连接(电缆和接插件)均安装牢固。
1
2

例句:请确认所有的连接(电缆和接插件)均安装牢固。

冒号

全角冒号()常用在需要解释的词语后边,引出解释和说明。

Python
例句:请确认以下几项内容:时间、地点、活动名称,以及来宾数量。
1
2

例句:请确认以下几项内容:时间、地点、活动名称,以及来宾数量。

表示时间时,应使用半角冒号(:)。

Python
例句:早上 8:00
1
2

例句:早上8:00

省略号

省略号……表示语句未完、或者语气的不连续。它占两个汉字空间、包含六个省略点,不要使用。。。...等非标准形式。

省略号不应与“等”这个词一起使用。

Python
错误:我们为会餐准备了香蕉、苹果、梨…等各色水果。 正确:我们为会餐准备了各色水果,有香蕉、苹果、梨…… 正确:我们为会餐准备了香蕉、苹果、梨等各色水果。
1
2
3
4
5
6

错误:我们为会餐准备了香蕉、苹果、梨…等各色水果。
正确:我们为会餐准备了各色水果,有香蕉、苹果、梨……
正确:我们为会餐准备了香蕉、苹果、梨等各色水果。

感叹号

应该使用平静的语气叙述,尽量避免使用感叹号

不得多个感叹号连用,比如!!!!!

破折号

破折号————一般用于进一步解释。

破折号应占两个汉字的位置。如果破折号本身只占一个汉字的位置,那么前后应该留出一个半角空格。

Python
例句:直觉————尽管它并不总是可靠的————告诉我,这事可能出了些问题。 例句:直觉 —— 尽管它并不总是可靠的 —— 告诉我,这事可能出了些问题。
1
2
3
4

例句:直觉————尽管它并不总是可靠的————告诉我,这事可能出了些问题。
例句:直觉——尽管它并不总是可靠的——告诉我,这事可能出了些问题。

连接号

连接号用于连接两个类似的词。

以下场合应该使用直线连接号(-),占一个半角字符的位置。

  • 两个名词的复合
  • 图表编号
Python
例句:氧化-还原反应 例句:图 1-1
1
2
3
4

例句:氧化-还原反应
例句:图1-1

以下场合应该使用波浪连接号(),占一个全角字符的位置。

  • 数值范围(例如日期、时间或数字)
Python
例句:2009 年~2011 年
1
2

例句:2009年~2011年

注意,波浪连接号前后两个值都应该加上单位。

波浪连接号也可以用汉字“至”代替。

Python
例句:周围温度:-20°C 至 -10°C
1
2

例句:周围温度:-20°C至-10°C

文档体系

结构

软件手册是一部完整的书,建议采用下面的结构。

  • 简介(Introduction): [必备] [文件] 提供对产品和文档本身的总体的、扼要的说明
  • 快速上手(Getting Started):[可选] [文件] 如何最快速地使用产品
  • 入门篇(Basics): [必备] [目录] 又称”使用篇“,提供初级的使用教程
    • 环境准备(Prerequisite):[必备] [文件] 软件使用需要满足的前置条件
    • 安装(Installation):[可选] [文件] 软件的安装方法
    • 设置(Configuration):[必备] [文件] 软件的设置
  • 进阶篇(Advanced):[可选] [目录] 又称”开发篇“,提供中高级的开发教程
  • API(Reference):[可选] [目录|文件] 软件 API 的逐一介绍
  • FAQ:[可选] [文件] 常见问题解答
  • 附录(Appendix):[可选] [目录] 不属于教程本身、但对阅读教程有帮助的内容
    • Glossary:[可选] [文件] 名词解释
    • Recipes:[可选] [文件] 最佳实践
    • Troubleshooting:[可选] [文件] 故障处理
    • ChangeLog:[可选] [文件] 版本说明
    • Feedback:[可选] [文件] 反馈方式

下面是两个真实范例,可参考。

  • Redux 手册
  • Atom 手册

文件名

文档的文件名不得含有空格。

文件名必须使用半角字符,不得使用全角字符。这也意味着,中文不能用于文件名。

Python
错误: 名词解释.md 正确: glossary.md
1
2
3
4

错误:名词解释.md
正确:glossary.md

文件名建议只使用小写字母,不使用大写字母。

Python
错误:TroubleShooting.md 正确:troubleshooting.md
1
2
3
4

错误:TroubleShooting.md
正确:troubleshooting.md

为了醒目,某些说明文件的文件名,可以使用大写字母,比如READMELICENSE

文件名包含多个单词时,单词之间建议使用半角的连词线(-)分隔。

Python
不佳:advanced_usage.md 正确:advanced-usage.md
1
2
3
4

不佳:advanced_usage.md
正确:advanced-usage.md

  • zeropython 微信公众号 5868037 QQ号 5868037@qq.com QQ邮箱

中文技术文档的写作规范-转{阮一峰}相关推荐

  1. 【中文技术文档的写作规范_P03】如何书写标点符号和控制文档体系

    通过本文,你将了解到中文技术文档中标点符号和文档体系的写法. 文章目录 标点符号 原则 句号 逗号 顿号 分号 引号 括号 冒号 省略号 感叹号 破折号 连接号 文档体系 结构 文件名 标点符号 原则 ...

  2. 中文技术文档的写作规范

    文章目录 一.标点符号 原则 句号 逗号 顿号 分号 引号 括号 冒号 省略号 感叹号 破折号 连接号 二.数值 半角数字 千分号 货币 数值范围 变化程度的表示法 三.段落 原则 引用 四.参考链接 ...

  3. 技术文档的写作规范总结

    技术文档的写作规范 1 标题 1.1 层级 标题分为四级,分别如下: 一级标题:文章的标题 二级标题:文章主要部分的大标题 三级标题:二级标题下面一级的小标题 四级标题:三级标题下面某一方面的小标题 ...

  4. 中文技术文档写作规范【转载】

    标题 层级 标题分为四级. 一级标题:文章的标题 二级标题:文章主要部分的大标题 三级标题:二级标题下面一级的小标题 四级标题:三级标题下面某一方面的小标题 原则 一级标题下,不能直接出现三级标题. ...

  5. SAP HANA中文技术文档(跟matinal学HANA)

    SAP HANA中文技术文档(跟matinal学HANA) 1.  点击进入:SAP XS HANA专栏 2.  点击进入:SAP UI5上传图片 用XSJS存储在HANA中的方法 3.  点击进入: ...

  6. virtualbox中文技术文档_随笔--西门子STEP7中如何寻找技术文档

    西门子STEP7软件支持的编程语言除了常用的LAD/FBD/STL,还有SCL/GRAPH等,应该说除了LAD/STL之外,SCL和GRAPH也是比较常用的,至少对我个人来说是这样,但是每种指令在不同 ...

  7. JavaScript中文技术文档

    bytecode读写 ClassPool Class loader 自有和定制 Bytecode操控接口 Generics Varargs J2ME 装箱和拆箱 调试 bytecode读写 Javas ...

  8. WinPcap 中文技术文档(4.1.2)第五章

    1.  远程捕获 由于应用程序使用WinPcap的常规(normal)方式和推荐(suggested)方式是通过wpcap.dll完成的,所以我们不保证packet.dll的API不会在未来的WinP ...

  9. mysql winpcap_WinPcap 中文技术文档(4.1.2) 第三章

    1.WinPcap教程:循序渐进教您使用WinPcap 本节将向您显示如何使用WinPcapAPI的一些特性.本教程被组织成一系列课程,以循序渐进的方式,让读者从最基本的部分(获得设备列表)到最复杂的 ...

最新文章

  1. java 正则表达式 非贪婪模式_详解正则表达式的贪婪模式与非贪婪模式
  2. HibernateTemplate 的常见用法
  3. ASP.NET Core MVC上传、导入、导出知多少
  4. docker ubuntu 文件同步_Docker 的数据管理--Docker从入门到精通摘记
  5. 【洛谷P3389】【模板】高斯消元
  6. 【BZOJ4559】【JLOI2016】—成绩比较(拉格朗日插值+dp)
  7. a标签点击事件_html常用标签
  8. 深入解读Gartner 2021年《分析与BI平台魔力象限》
  9. java 多线程同步
  10. Java案例:泛型用法演示
  11. onestage方法_FCOS : 找到诀窍了,anchor-free的one-stage目标检测算法也可以很准 | ICCV 2019...
  12. Joomla源代码解析(十九) JController
  13. jQuery之事件绑定到触发全过程及知识点补充
  14. etcdctl的使用
  15. C语言表上作业法运输问题,论运输问题表上作业法
  16. MySQL的存储函数与存储过程的区别
  17. 怎么把ide改成ahci_Win10系统无需重装,硬盘IDE改为AHCI模式的方法
  18. Unity3D Tessellation曲面细分
  19. 测试空间与测试驱动接口设计 step to step
  20. robots.txt漏洞

热门文章

  1. “4K”标准/技术一网打尽
  2. 漂泊者乐园资源分享_有声英语书_BlABook0038_The Night Crew
  3. java 直播rtmp推流_如何设置rtmp推流直播(斗鱼,腾讯云,yy等直播)?
  4. .NET 6 Preview 1 发布
  5. Android端推送消息之极光推送
  6. 陕西广电 HGU B2 光猫获取超级密码 改桥接模式 提升网速
  7. 近3000款长久未更新App或将被苹果下架
  8. 2019上海ICPC H.Tree Partition
  9. 博弈论(1)例题:纳什均衡 (投票还是不投票/合资问题/n 个企业的古诺模型)博弈论导论 Steven Tadelis - Game Theory. An Introduction
  10. 计算机程序设计员理论练习