GNU 编码标准由 Richard Stallman 和其他 GNU 项目志愿者编写。其目的是使 GNU 系统清晰、一致且易于安装。本文档还可以作为编写可移植、健壮和可靠的程序的指南。它侧重于用 C 编写的程序,但即使您使用其他编程语言编写,其中的许多规则和原则也很有用。这些规则通常会说明以某种方式编写的原因。
如果您不是直接从 GNU 项目获取此文件,并且最近没有更新,请检查是否有更新版本。您可以从 GNU Web 服务器以多种不同的格式获取 GNU 编码标准,包括 Texinfo 源代码、PDF、HTML、DVI、纯文本等等,网址为:https://gnu.ac.cn/prep/standards/。
如果您正在维护官方 GNU 包,除了本文档之外,请阅读并遵循 GNU 维护者信息(请参阅 GNU 软件维护者信息 中的目录)。
如果您想接收这些 GNU 文档的每次更改的差异,请通过 https://lists.gnu.org/mailman/listinfo/gnustandards-commit 上的 Web 界面加入邮件列表 [email protected]
。存档也在此处提供。
请将本文档的更正或建议发送至 [email protected]。如果您提出建议,请包括建议的新措辞,以便我们有效地考虑该建议。我们更喜欢针对 Texinfo 源代码的上下文差异,但如果这对您来说很困难,您可以针对此文档的其他版本制作上下文差异,或者以任何使其清晰的方式提出。本文档的源代码存储库位于 https://savannah.gnu.org/projects/gnustandards。
这些标准涵盖了编写 GNU 包时最重要的最低要求。可能需要额外的标准。有时,您可能会建议将此类标准添加到本文档中。如果您认为您的标准通常有用,请提出建议。
您还应该为您的软件包设置此处未涉及或未明确指定的许多问题的标准。最重要的一点是要保持自我一致性——尽量坚持您选择的约定,并尽量记录它们。这样,您的程序将更容易被其他人维护。
GNU Hello 程序提供了一个示例,说明如何为一个简单的程序遵循 GNU 编码标准。https://gnu.ac.cn/software/hello/hello.html。
此版本的 GNU 编码标准最后更新于 2024 年 5 月 26 日。