スタイルについては、既存のソースに合わせてください。とくに変わったコーディングスタイルをお使いでなければ気にする無いと思うのですが、気になる方は以下の推奨事項を参照してください。
スタイル以外のコーディング規約も一応あります。
コーディングスタイル
GNU indent のオプションで示すと、次のようになります。
標準: indent -bad -bap -nbbb -nbc -bl -bli0 -nce -i4 -ts4 -ci4 -cli0 -l130 -lp -npcs -ss -nfca
許容: indent -bad -bap -nbbb -nbc -br -nce -i4 -ts4 -ci4 -cli0 -l130 -lp -npcs -ss -nfca
- 重要な点
- 中括弧前後の改行
例:- 標準:
if (x > 0)
{
x--;
}
else
{
x++;
} - 許容:
if (x > 0) {
x--;
}
else {
x++;
}
- 標準:
- インデントは中括弧の内側から。中括弧自身はインデントしません。
- 文が継続している場合は行をインデントします。
- インデントは空白で行います。統合開発環境(IDE)の、ツール(T)→オプション(O)→[タブ]タブで、(デフォルトの「タブの保持(K)」ではなく)「スペースの挿入(S)」を選択設定しておいてください。インデント(行頭)以外の桁揃えはタブでも構いません。
- 中括弧前後の改行
推奨事項
- 関数名と括弧(の間に空白を置かない。
- if、for、while等の括弧との間に空白を置く。
- 二項演算子の前後にはスペースを入れる。
- 行末以外のカンマ、セミコロンの後には空白を入れる。
- ポインタ、参照型宣言
- の*、&には前後どちらか一方にスペースを入れる。
- 宣言時に紛らわしくないように使う。
例: int* p, q; // これは紛らわしいので推奨されない
例: int *p, q; // 敢えてまとめて宣言するならこっち
例: int* p; // 一行一宣言なら
int q; // どちらでもいいです。
- 一行が長いため折り返す場合はセマンティクスを重視する。
- 括弧、セミコロン、カンマ、論理演算子の前又は後で折り返す。
- 折り返すときは演算子の前で改行するとコメントしやすいですよ。
- 引数リストが長い場合に一箇所だけで折り返すよりも一行一引数にする。
- 折り返し部分はインデントする。括弧内で折り返したら、直前の開き括弧に合わせてインデントする。
- 括弧、セミコロン、カンマ、論理演算子の前又は後で折り返す。
- ifやfor、whileのプロック{}は内容が空でも一行でも省略しない。
- 行末に空白を残さない。