コードの仕様
2人:一人のソフトウェアはほとんどのソフトウェアは、相互に協力して最小単位で行われ、(独立系ゲーム開発者へのオマージュ)を満たしていません。
コード仕様:さまざまな人々は、コードの品質を判断する、我々は参照する必要があります
コードスタイルガイド
テキストの規定は、それが重要です
原則:簡潔で読みやすい、明確な
それは見られるべきであるというネーミングおよびセマンティック型変数
ハンガリー語の表記:意味の接頭辞の変数に。不要な強く型付けされた言語のために
パスカル:すべての単語が大文字
キャメル:最初の単語を小文字、残りはPascalの言葉に従ってください
機能:動詞または動詞オブジェクトを組み合わせ
注記
複素関数ヘッダコメントが配置されるべきです
コメントはASCIIコードを使用する必要があります
誤解を招くコメントはありませんコメントより悪いです
冗長なコメントを避けてください
コード設計仕様
モジュールの関係に関わる一般原則に関する仕様
機能
一つのことを行うと良い仕事をします
後藤
この目的のために単一の出口で最高の機能は、あなたが後藤を使用することができます
??私は以前にはgotoを使用しないように言われていました
エラー処理
パラメータの正しさを確認してください
アサートを使用してください
C ++クラスに対処する方法
クラスの使用
オブジェクト指向の概念とポリモーフィズムを使用してカプセル化するクラス
ポインタは、エンティティの値を送信避けるために、渡され、
明示的なクラスのコンストラクタとデストラクタ関数については、世界的な実体の確立を避けるため、および除去を作成するとき、彼らは知らないので、
必要な場合にのみ、クラスを使用します
カプセル化されたデータは、唯一、あなたは構造体を使用することができます
必要であれば、相続のタイプのみを使用します
データメンバとメソッドについて
公共、保護された、クラスのメンバーを説明する民間の順序に従って
ポリモーフィズムを実現するための仮想関数;のみ必要な仮想関数;あなたは多型の種類を達成する必要がある場合は、基底クラスの仮想関数でデストラクタは忘れないようにするためには、明確に理解されていない理由のために(する必要がありますデストラクタは、サブクラスでそれを書く、)C ++のために非常に精通していません
データメンバはM_NAME、パブリックデータメンバを使用しないでください。インラインアクセス機能と、アカウントの梱包と効率を考慮して
新しいおよび削除
新しいの戻り値をチェックし、新しいは必ずしも成功していません
リリースされたときにNULLポインタをチェックしません。
演算子
標準のセマンティクスの外の事をしないでください
必要に応じて、実際に再定義
効率的なの必要性
コードレビュー
- この問題を解決するために、右にある「コード規範」の枠組みの中でのコードの場合
- 自己評価、ピアレビュー、レビューチーム
- 目的
- コードエラーの検索:コーディングエラーを、標準的な場所、ロジックおよび算術エラー、潜在的なエラーと回帰誤差の星を満たしていません
- プロジェクトコードに精通ウェイ
- 審査した後、
- 明らかなエラーを修正
- 録音はすぐにエラーを訂正することはできません
- レコードエラーは、多くの場合、自己評価を促進することを約束しました
- コードレビューチェックリスト(このようなものの必要性を注意してください)
ペアプログラミング
ドライバー&ナビゲーター
気持ちは低レベルのエラーを回避するのに役立ちます
心理学、コミュニケーションスキルなどのこの部分
チームワークの重要性
仕上げノート
列をなして
C ++では、関数が呼び出され、インラインキーワード機能を増加させる、キーワードインライン型の戻り値の前に、一度に定義することができる「インライン関数」。
- インライン関数と通常の関数との差:ステートメントは、インライン関数であるコンパイラプロセス内で呼び出すと、関数呼び出し命令のステートメントをコンパイルするが、直接、体全体のための機能コードにしないように、呼び出し文に挿入されコールの機能の全体の体は再び同じ書き直されました。
- あなたは、関数呼び出しのオーバーヘッドを支払う必要はありません
- インライン関数コード、いくつかの文だけの非常にシンプルな、迅速に実行する必要があります。それ以外の場合は無意味
- (すなわち、体全体の数)インライン関数の定義の中にインライン関数を呼び出す前に、ステートメントが登場し、表示されないだけでインライン関数を宣言している必要があります。
inline int Max (int a, int b)
{
if(a >b)
return a;
return b;
}
- 異常な
- 例外はまだ知っている必要があり、かなりの意味を理解していない、情報を伝えるために、境界のDLLまたはプロセスを越えることはできません
- 例外処理メカニズムと異例の費用
- を除いて、メインフローのロジック制御プログラムとして扱わないでください。
- 任意の場所にデータをクリーンアップすると、例外を使用している場合があります