汎用コードを書く際の私のコーディングスタイルです
(命名規則はたぶん『Exceptional C++ Style』に載ってたものがベースだと思う)
【命名規則】
基本は「小文字アンダーバー区切り」 ・ローカル変数, パラメータ int variable_name; ・private/protectedメンバ変数 int variable_name_; ・publicメンバ変数 int variable_name; ・関数名, メンバ関数名 void func_name(); ・クラス名 class class_name {}; ・テンプレートパラメータ template <class TypeName> ... ・メタ関数の戻り値名(値) struct ... { static const int value; }; ・メタ関数の戻り値名(型) struct ... { typedef ... type; };
【文法】スペース位置と有無, 改行, 中カッコの位置と有無, インデント
・関数定義(1行で書くこともある) void func_name(int x, int y, int z) { } ・引数指定 func_name(x, y, z); ・クラス定義 class class_name { ... }; ・if文 if (...) ... if (...) { ... ... } if (...) { ... ... } else { ... ... } if (...) ... else ... if (...) ... else if (...) ... else ... if (...) { ... ... } else if (...) { ... ... } else { ... ... } ・for文 for (int index = 0; index < 10; index++) ... for (int index = 0; index < 10; index++) { ... ... } ・switch文 switch (...) { case x: ... break; default: ... break; }
※protectedメンバ変数は基本的には使いません
※publicメンバ変数は構造体としての用途(全てのメンバ変数を公開)の場合のみです
※環境依存コード(MFC等)の場合はそちらのコーディングスタイルに従っています
.NETの場合はガイドラインがあるのでそちらに従っています
.NETの命名規則