47.1. 書式

ソースコードの書式では、タブを4カラムとするスペーシングを使用し、現在はタブを保存しています(つまりタブをスペースに展開しません)。 各論理インデントのレベルは、さらに1つのタブストップです。

配置規則(括弧の位置など)はBSDの慣例に従います。 特にifwhileswitchなどの制御ブロックのための中括弧はそれ自身を一行で表します。

コードが80カラムのウィンドウで読み易くなるように1行の長さを制限してください。 (これは80カラムを超えてはならないことを意味していません。 例えば、任意の場所にある長いエラーメッセージ文字列をコードが80カラムに収まるように改行を含めても、おそらく可読性を向上させることはありません。)

C++形式のコメント(//コメント)は使用しないでください。 厳密なANSI Cコンパイラはそれらを受け付けません。 同じ理由で、中間ブロックで新規の変数を宣言するようなC++拡張を使用しないでください。

複数行に渡るコメントブロックの推奨書式は以下のようになります。

/*
 * コメントテキストはここから始まり
 * ここまで続きます
 */

列1で始まるコメントブロックはpgindentによるのと同じ通りに維持されますが、字下げされたコメントブロックを、あたかも平文テキストのように還流します。 ある字下げブロックの中で改行を維持したい場合は以下のようにダッシュを追加します。

    /*----------
     * コメントテキストはここから始まり
     * ここまで続きます
     *----------
     */

登録されたパッチは完全にはこの書式規則に従う必要はありませんが、そのようにすることを勧めます。 登録されるコードは次のリリースの前にpgindentを通します。 ですので、他の書式規則に従って作成して、見た目を良くすることに意味がありません。 優れたパッチに関する原則は、"新しいコードがその前後にある既存のコードのように見える"ことです。

src/toolsディレクトリには、確実に上記の規約に従った書式になることを補助する、emacsxemacsvimエディタで使用できるサンプルの設定ファイルがあります。 または、vi内で下記のようにコマンドを実行してください。

:set ts=4

テキスト閲覧ツールmorelessでは以下のようにすればタブを適切に表示させることができます。

more -x4
less -x4