はじめにこのページの意味
キャメルとはAbstractList,ObjectInformation,など POD型とは初期化の際に,newを必要としないものをPOD型,と認識している。 コーディングルールクラス非POD型はclassで定義する。
構造体POD型はstructで定義する。 クラス・構造体名キャメル。 typedefキャメルで。 static定数全部大文字,単語の区切りは'_'。 static変数・メンバ変数基本としてprivateに書くこと! static関数・メンバ関数小文字から始まるキャメルで。 内部クラス・構造体キャメルで。 列挙型enumのこと。 列挙型名キャメルで。 要素名列挙型名 + '_' + キャメルで。 名前空間namespaceのこと。 記述順番は次の通り。 タイプ1.タイプ宣言。
例: タイプ2.前方参照
例:
名前小文字から始まるキャメルで。 マクロ定数マクロなら,定数と同じ命名規則で。 インデントタブを使うこと。(タブサイズは4) 中括弧中括弧は次のように,縦のラインをそろえること。 また,タイプ宣言をするときに複数の名前空間を使う時は例外で, 例: class RingBuff { }; } // end of namespace util インクルードインクルード順番1.システムヘッダabc順 インクルードガードインクルードガードは#ifdefでは書かない。 #pragma once にする。 ヘッダの形式1.インクルードガード ソースの形式1.実装するヘッダのインクルード グローバル変数・グローバル関数使用しない。 inlineinlineキーワードは使用しない。(コンパイラにがんばらせる) virtualvirtualキーワードは何よりも先に記述する。 const変数に対するconstキーワードはタイプ名の直前に付ける。 ファイルルール拡張子.h : Cヘッダ 1タイプ1ヘッダ1ソース1つのヘッダファイル2つ以上の型を宣言しない。 1名前空間1ディレクトリ1つの名前空間に対して1つのディレクトリを作成する。 名前空間.h次のような感じで,名前空間で公開すべきヘッダをインクルード記述した名前空間.hを設置する。 ディレクトリ構造 mylib +--util.h +--util | +--RingBuff.hpp | +--RingBuff.cpp util.hの中身
ポリシーnewしたクラスがdeleteする原則として,newしたクラスが責任を持ってdeleteする。 公開するものに略称は使用しない原則として,型名,関数名など |