2024年9月26日:PostgreSQL 17 发布!
支持的版本:当前 (17) / 16 / 15 / 14 / 13 / 12
开发版本:开发版
不支持的版本:11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2

54.1. 格式化 #

源代码格式化使用 4 列制表符间距,并保留制表符(即,制表符不会扩展为空格)。每个逻辑缩进级别增加一个制表符位置。

布局规则(大括号位置等)遵循 BSD 约定。特别是,ifwhileswitch 等受控块的大括号应位于单独的行上。

限制行长度,以便代码在 80 列窗口中可读。(这并不意味着您绝对不能超过 80 列。例如,仅仅为了将代码保持在 80 列以内而在任意位置断开一个长的错误消息字符串可能不会提高可读性。)

为了保持一致的编码风格,请不要使用 C++ 风格的注释(// 注释)。pgindent 会将它们替换为 /* ... */

多行注释块的首选样式为

/*
 * comment text begins here
 * and continues here
 */

请注意,以第 1 列开头的注释块将按原样由 pgindent 保留,但它会将缩进的注释块重新格式化,就好像它们是纯文本一样。如果您想保留缩进块中的换行符,请添加破折号,如下所示

    /*----------
     * comment text begins here
     * and continues here
     *----------
     */

虽然提交的补丁不必绝对遵循这些格式规则,但最好这样做。您的代码将在下一次发布之前通过 pgindent 运行,因此没有必要根据其他格式约定使它看起来很漂亮。补丁的一个好的经验法则是使新代码看起来像周围的现有代码

src/tools/editors 目录包含示例设置文件,可用于 Emacsxemacsvim 编辑器,以帮助确保它们根据这些约定格式化代码。

如果您想在本地运行 pgindent 以帮助使您的代码与项目风格匹配,请参阅 src/tools/pgindent 目录。

文本浏览工具 moreless 可以调用为

more -x4
less -x4

以使它们能够正确显示制表符。

提交更正

如果您在文档中看到任何不正确的内容、与您对特定功能的体验不符的内容或需要进一步澄清的内容,请使用此表单报告文档问题。