Table of Contents |
命名規則 †
型毎の規則 †
- 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
- 列挙子については,定数と同じく大文字.ただし,先頭にデータ型を表すプレフィックスをつける
名前の付け方 †
- 省略形は極力使わない
- 長い変数名を打つのが面倒 -> IDE 使って入力支援を使え
アクセス修飾子 †
- public/protected/privateの順で書くこと
命名規則の例外 †
プリミティブ型 †
以下のプリミティブ型については,全て小文字で定義している
s8, s16, s32, s64 // 符号付き整数 u8, u16, u32, u64 // 符号無し整数
STL,BOOSTの派生クラス †
STL,BOOST派生クラスについては,一貫性を保つために一部クラス名が小文字となっている
ループカウンタ †
ループカウンタについては,i,j,k... を使って良い
例 †
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 { public: u32 GetMemberVariable() const { return m_memberVariable; } void SetMemberVariable(const u32 value) { m_memberVariable = value; } protected: u32 m_memberVariable; Insn* m_insn; static int s_staticVariable; };
その他 †
参照について †
- 参照は,const 参照以外は使用禁止
- 参照が左辺に置かれた場合,参照先が書き換えられることが一目でわからないため.ポインタであればアスタリスクが入るため,一目でわかる.
例外のcatch †
- 例外はconst 参照で受けるように
- ポインタで受ける:例外オブジェクトを誰が解放するのか不明
- オブジェクトの値で受ける:コピーが複数回発生する
ツールボックス
メニュー
最新の20件
最新の20件
2022-12-31
2022-09-24
2022-01-26
2019-09-17
2019-07-11
2018-07-12
2018-05-09
2018-02-07
2017-10-27
2017-10-15
2017-05-01
2017-03-27
2015-12-24