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

55.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

以使其正确显示制表符。

提交更正

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