规范的README
规范的README
前言:
Github上浏览开源项目时通常项目根目录都有一个字说明文件README.md,该文件可以帮助开发或使用者快速的熟悉和使用这个项目。为项目写出规范的README文件是有必要的。
1 README的作用
README是项目的自述文件,通常它 README.md 是项目的第一个入口文件,而不是急着看代码。阅读它能使得开发或使用者快速熟悉和使用该项目。
2 README应该有哪些内容
README应该告诉阅读者如何使用你的模块或工程,如果安装和使用它。标准的方式编写README将使得阅读理解它更轻松,维护更加方便。
在Github上有一个关于README的开源项目 RichardLitt/standard-readme ,可以访问它,本篇文章也是基于此规范进行讨论。
以下是一个好的README应该具有的内容。
3 标题(Title)
标题为必填项,一般与仓库名、文件夹名或包管理器名同名。标题允许写副标题,副标题加括号斜体表示。
1 | # 主标题 _(副标题)_ |
4 横幅(banner)
可选项,横幅用于丰富显示效果,提供链接到本地存储库。
要求:
- 不能有自己的标题;
- 必选链接到当前存储库中的本地映像;
- 必选直接出现在标题后面;
5 徽章(badges)
可选项,徽章用于丰富显示效果,提供快速跳转链接。
6 简述(Short description)
必选项,对仓库进行简单概述,方便阅读者快速了解项目。
要求:
- 不能有自己的标题;
- 必选少于120个字符;
- 不能以
>
开始;- 一定是在它自己的行上;
- 必选符合包管理器的
描述
字段;- 必选符合Github的描述(如果在GitHub上);
7 详细描述(Long description)
可选项,对仓库进行详细描述。
要求:
- 不能有自己的标题;
- 如果任何文件夹、存储库或包管理器名称不匹配,则必选在这里说明原因;
建议:
- 如果内容较多,应考虑将部分内容放到到背景部分;
- 建议描述构建仓库的主要原因;
- 大致的描述模块信息;
8 目录(Table of contents)
小于100行的README为可选项,大于100行的README为必选项。
要求:
- 必选链接到文件中的所有Markdown部分;
- 必选从下一节开始,不要包含标题或目录标题;
- 必选至少有一个深度,也即捕获所有的
##
二级标题;
建议:
- 可以捕获第三个和第四个深度标题。如果是长目录,这些是可选的;
9 安全(Security)
可选项,如果有强调安全问题则可描述。
10 背景(Background)
可选项。
要求:
- 包含动机;
- 包含抽象依赖关系;
- 包含只是来源;
11 安装(Install)
必选项,说明安装和使用的方法。
要求:
- 说明如何安装和使用仓库;
- 若有其他环境依赖,说明依赖哪些环境及说明安装环境的方法;
12 用法(Usage)
必选项,说明使用仓库的方法。
13 API
可选项,API接口和对象。
要求:
- 描述签名、返回类型、回调和事件;
- 指明不容易理解的类型;
- 描述注意事项;
- 如果使用外部API生成器,应该链接到外部API的描述文件。
14 维护者(Maintainers)
可选项,说明仓库的开发维护人员。
要求:
- 列出参与该仓库维护的人员,给出他们的联系方式,Github一般给链接或邮件;
建议:
- 必选是重要的开发和维护人员,而不是列出所有有访问权限的人。
15 致谢(Thanks)
可选项,说明对该仓库构建提供过帮助的人或事。
要求:
- 说明对项目的开发有重要帮助的任何人或任何事情;
- 标明公共链接,如果有的话;
16 贡献(Contributing)
必选项,说明用户可参与仓库的权限和方法。
要求:
- 说明用户可以提问的地方;
- 说明是否可接受PR;
- 列出所有贡献的要求,例如在提交时要有签名;
建议:
- 更详细的描述可以链接到 如何贡献.md 文件;
- 链接到 如何贡献规范.md 文件,对贡献的规范操作进行更详细的介绍;
17 许可证(License)
必须项,关于许可证的描述。
要求:
- 声明许可证全名或标识符,提供链接到许可证文件。
- 声明许可证的持有人;
- 放在文件末;
18 模板示例
以下是可套用的README.md规范模板。
1 | # 标题(Title) |