コーディングスタイル

汎用コードを書く際の私のコーディングスタイルです
(命名規則はたぶん『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の命名規則

名前付けのガイドライン