コーディング規約
ソースファイル
| 文字コード | UTF-8 |
|---|
命名規則
| 対象 | 記法名 | 例 |
|---|---|---|
| ファイル名 | アッパーキャメルケース | FileSystem.h |
| 関数 | アッパーキャメルケース | PrintMessage |
| ローカル変数 | ローワーキャメルケース | fileName |
| ポインタ変数 | 先頭にpを付ける ※ダブルポインタなどはppと増やす |
pFileName |
| クラス・構造体 | アッパーキャメルケース | GameManager |
| メンバ変数 | 先頭に _ (アンダースコア)を付ける | _Width |
| 構造体変数 | アッパーキャメル | RefreshRate |
| namespace | アッパーキャメル | Math |
| 定数 | アッパーケース | DISPLAY_WIDTH |
使用禁止
| 対象 | 概要 |
|---|---|
| グローバル変数 | 基本的に使用禁止 |
| C言語のキャスト | C++のキャストを使用すること |
| typedef | usingを使用すること |
| defineによる処理 | 基本的にtemplateやconstexprにする ※定数は可 |
キャスト
| 対象 | 内容 |
|---|---|
| 値のキャスト | static_cast |
| ポインタのキャスト | reinterpret_cast |
| ダウンキャスト | dynamic_cast |
| コンストキャスト | const_cast 基本的に使用しない事 |
改行・スペース
| 記法名 | 例 |
|---|---|
| 演算子 | n = a + b; 左右にスペースを入れる |
| {, } | それぞれ改行する 1行で収まる場合は省略可 |
| if | if (条件) のようにスペースを入れる |
| for | for (int i=0; i < n; i++) のようにスペースを入れる |
| switch | switch (値) のようにスペースを入れる |
| 関数 | void Func(型 変数名) のように(, )の部分にスペースは入れない |
コメント
| 対象 | 記法 |
|---|---|
| ファイルの先頭 | //————————————————– //! @file ファイル名 //! @brief 説明 //! //! @author 名前 //————————————————– |
| ファイルの末尾 | //================================================== // END OF FILE //================================================== |
| クラス・構造体 | //================================================== //! 説明 //================================================== [class等] クラス名 |
| 変数 (ローカル変数除く) |
型 変数名; //!< 説明 |
| 関数 (ヘッダ上の関数) |
//! 説明 //! @param [in/out] 引数の説明 //! @param [in/out] 引数の説明 //! @return 戻り値の説明 ※param, returnは無い場合に省略可 ※引数の入力は[in], 出力は[out]で表す |