49.1. 格式

代码格式使用每个制表符 4 列的空白,目前是保留制表符状态 (也就是说制表符不被展开为空白)。每个逻辑缩进层次都是更多的一个制表符。

布局规则(花括弧定位等)遵循 BSD 传统。特别的,ifwhileswitch等的控制块的大括号从它们自己的行开始。

限制行的长度,这样代码在80字段的窗口内可读。(这并不意味着你不能超过80个字段。 例如,在任意地方分解一个长的错误消息字符串,只是为了保持代码在80个字段内, 可能不是为了可读性。)

不要使用C++风格的注释(// 注释)。严格的ANSI C编译器不接受它们。 相同的原因,不要使用C++扩展,比如在块中声明新的变量。

多行注释块的首选风格是

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

请注意,在第一列开始的注释块将被pgindent按原样保存, 但是它将回流注释块缩进,就像它们是纯文本。如果你想要在缩进块中保留换行, 像这样添加破折号:

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

虽然提交的补丁并不需要完全遵循这些格式化规则,最好还是这么做。 你的代码将会在下一个版本之前被pgindent处理, 虽然这样做不会让它看起来比其它的格式化习惯更好看。 一个补丁的好的经验法则是"让新的代码看起来像是被已有的代码包围"。

src/tools目录包含了适用于emacs 的示范配置文件,xemacs或vim 用户也必须确保其格式代码也符合上述规范。

文本浏览工具more和less 可以用下面命令调用:

more -x4
less -x4

这样就可以让他们正确显示制表符。