PostgreSQL 中文参考文档
🌐 英文原版 官方 ↗

55.1. 格式 #

源代码格式使用 4 列的制表符间距,并且保留制表符(即制表符不会被 展开为空格)。 每个逻辑缩进级别是一个额外的制表位。

布局规则(花括号位置等)遵循 BSD 约定。 特别地,if、 while、switch 等受控块的 花括号单独占一行。

限制行长度,使代码在 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 目录包含可与 Emacs、 xemacs 或 vim 编辑器配合使用的示例设置文件,它们有助于确保这些编辑器按照这些 约定格式化代码。

如果您想在本地运行 pgindent 来帮助使您的代码符合项目风格,请参见 src/tools/pgindent 目录。

文本浏览工具 more 和 less 可以这样调用:

more -x4
less -x4

以便让它们恰当地显示制表符。