C ++私は従うコーディング標準は、この「高品質なC ++ / Cプログラミングガイド」です
http://www.scholat.com/course/V_courseResourceDownload.html?courseId=1227&resourceId=12836
ヘッダファイルの1構造
繰り返しヘッダが参照されないようにするために、ブロックIFNDEF /定義/ ENDIF構造を前処理することによって生成されるべきです。
書式#include <filename.h>ヘッダ・ファイル・フォーマットで標準ライブラリ(検索を開始するには、標準のライブラリディレクトリからコンパイラ)を参照します。
#include「filename.h」形式で(検索を開始するには、ユーザーの作業ディレクトリからコンパイラを)非標準ライブラリのヘッダファイルを参照します。
のみ保存されたヘッダ・ファイル「の定義を」保存するのではなく「宣言」
C ++構文では、クラスのメンバ関数を自動的にインライン関数を同じ文で定義され、することができます。これは執筆の利便性をもたらすでしょうが、それは一貫性のないスタイル、良いよりも害をもたらしました。別途、関係なく、どのように小さな関数本体のメンバ関数の宣言の定義ことが示唆されました。
かかる記述のヘッダファイルにextern int型の値ではない現象として、グローバル変数の使用を促進しません。
2.1 空行
空白行は、プログラム・セクションのパーティションとして機能します。まともな(しかし、あまり何もより多くの)空白行はレイアウトがより明確にプログラムを作成します。印刷プログラムは、いくつかの紙を消費します空白行が含まれていますが、空白行は、メモリを無駄にしてはいけないが、それは価値があります。だから、空白行を使用することに消極的になることはありません。
各クラス宣言の後に、各空白行の終了後関数定義が追加されます。
体内の機能は、密接に関連する湾曲論理ステートメントの間に空白行せずに、パーティションブランクラインの他の部分に加えられるべきです。
// 空行 無効関数1(...) { ... } // 空行 無効機能2(...) { ... } // 空行 無効関数3(...) { ... }
|
// 空行 しばらく(条件) { 文1; // 空行 IF(条件) { 文2; } 他 { statement3; } // 空行 statement4; } |
2.2 コードの行
コードの行は、ちょうど変数の定義として、一つのことを行う、あるいは一つだけの文を書きます。このコードは読みやすいとコメントを書きやすいです。
、彼の党からの口座ステートメントにそうしながら、ため、場合、文は続いていない実行されます。かかわらず、文を実行するために追加されますどのくらいの{}。これは、書き込みエラーを防ぐことができます。
2.3 ライン内のスペース
キーワードの後にはスペースを残したいです。少なくともconstの、仮想、インライン、ケースや他のキーワードとした後、あなたは、スペースを残しておきたい、またはキーワードを区別することはできません。一方で、ために、あるかのようにキーワードの後に、そのような話はスペース左括弧を残す必要がある「(」、キーワードをハイライトします。
左括弧が続く、関数名の後にスペースを入れないでくださいキーワードを区別するために「(」。
「(」背中、続い「)」、「」、 『;』前方に続いて、スペースなしで続きます。
''そのような機能(X、Y、Z)のような空間を残します。もし「;」記号は、(;条件;更新初期化)と同様に、その後スペースを残すために、行の終わりではありません 。
など代入演算子、比較演算子、算術演算子、論理演算子、ビットフィールド演算子、 "="、 "+ ="、 "> ="、 "<="、 "+"、 "*"、「% "" &&前と後"" || "" << "" ^」 演算子は、スペースを二価すべきです。
単項演算子 " - "、 "+"、 "!" " - "の前後にスペースを入れず、 "&"(アドレス演算子)。
「[] 」、「」 『 - >』スペースなしの前と、オペレータの後。
長い文の発現のために、文場合、コンパクト理由は、適切には(i = 0; iが10 <; I ++の)のためのようないくつかのスペース、除去することができる、及び((<= B)&&(C <= Dの場合を))
FUNC1(int型のx、int型のy、int型z)を無効; //良いスタイル FUNC1(int型のx、int型のy、int型z)を無効; //悪いスタイル |
もし(年> = 2000)//良いスタイル もし(年> = 2000)//悪いスタイル もし((A> = B)&&(C <= D))//良いスタイル もし(A> = B && C <= D)//悪いスタイル |
以下のための(I = 0;私は10 <;私は++)//良いスタイル 以下のための(I = 0;私は10 <;私は++)//悪いスタイル 以下のための(I = 0;私は10 <;私は++)//過度のスペース |
X = A <B:B; //良いスタイル? X = <:? bのB; //悪いスタイル |
int型* X = Y&; //良いスタイル int型* X = Y&; //悪いスタイル |
配列は、[5] = 0; //配列を書かないでください[5] = 0; a.Function(); //代わりに関数を書くの(); b->Function(); // 不要写成 b -> Function();
|
2.4 对齐
程序的分界符‘{’和‘}’应独占一行并且位于同一列,同时与引用它们的语句左对齐。
{ }之内的代码块在‘{’右边数格处左对齐。
void Function(int x) { … // program code } |
void Function(int x){ … // program code }
|
if (condition) { … // program code } else { … // program code } |
if (condition){ … // program code } else { … // program code } |
for (initialization; condition; update) { … // program code } |
for (initialization; condition; update){ … // program code } |
While (condition) { … // program code } |
while (condition){ … // program code } |
如果出现嵌套的{},则使用缩进对齐,如: { … { … } … } |
|
风格良好的对齐 风格不良的对齐
这边书有详细全面的代码规范讲解,有助于我们养成良好的代码习惯,在这里不再一一举例;
《数学之美》读后感