現在の位置
backup プラグインを使用中
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- バックアップ を表示
- 仕様/コーディング規約/命名規則 へ行く。
- 1 (2009-07-18 (土) 15:51:49)
- 2 (2011-07-11 (月) 15:57:39)
*命名規則 [#a0e2adf8] **型毎の規則 [#h7c50993] :TypeName | typedefの型定義は大文字と小文字を組み合わせて使用し,各単語の1文字目を大文字にする. :ClassName | クラス名は大文字と小文字を組み合わせて使用し,各単語の1文字目を大文字にする. :InterfaceNameIF | インターフェースは,基本クラス名と同じでサフィックス IF をつける :RoutineName | 関数,クラスメソッドには大文字と小文字を組み合わせて使用し,各単語の1文字目を大文字にする. :localVariable | ローカル変数には大文字と小文字を組み合わせて使用し,先頭の単語以外の1文字目を大文字にする :m_memberValiable | メンバ変数はローカル変数と同様のルールに加え,プレフィックス m_ をつける :g_globalValiable | グローバル変数はローカル変数と同様のルールに加え,プレフィックス g_ をつける :s_globalValiable | クラス内スタティック変数はローカル変数と同様のルールに加え,プレフィックス s_ をつける :CONSTANT | 名前付き定数は全て大文字.static const で定義されたものもこれに含まれる. :PREFIX_ENUMERATED_TYPE | 列挙子については,定数と同じく大文字.ただし,先頭にデータ型を表すプレフィックスをつける **名前の付け方 [#if763ecd] -省略形は極力使わない --長い変数名を打つのが面倒 -> IDE 使って入力支援を使え **命名規則の例外 [#n3512e0a] ***プリミティブ型 [#o1d47196] 以下のプリミティブ型については,全て小文字で定義している s8, s16, s32, s64 // 符号付き整数 u8, u16, u32, u64 // 符号無し整数 ***STL,BOOSTの派生クラス [#f1973264] STL,BOOST派生クラスについては,一貫性を保つために一部クラス名が小文字となっている ***ループカウンタ [#z8df7974] ループカウンタについては,i,j,k... を使って良い **例 [#g582d442] static const int CONSTANT = 1; int g_globalVariable; enum EnumType { ET_INVALID, ET_DEFAULT }; void FunctionName( int* dst, const int& src ) { for( int i = 0; i < 10; i++ ){ } } class ClassName { protected: u32 m_memberVariable; Insn* m_insn; static int s_staticVariable; public: u32 GetMemberVariable() const { return m_memberVariable; } void SetMemberVariable(const u32 value) { m_memberVariable = value; } }; *その他 [#tb91da5c] **参照について [#p83fffdf] -参照は,const 参照以外は使用禁止 --参照が左辺に置かれた場合,参照先が書き換えられることが一目でわからないため.ポインタであればアスタリスクが入るため,一目でわかる. **例外のcatch [#s65877b9] -例外はconst 参照で受けるように --ポインタで受ける:例外オブジェクトを誰が解放するのか不明 --オブジェクトの値で受ける:コピーが複数回発生する