- 一般操作的前后加一个空白符。
- C++的保留字后需跟随一个空白符。
- 逗号后应该跟随一个空白符。
- 冒号的前后加一个空白符
- 在for语句中的分号后加一个空白符。
a = (b + c) * d; // NOT: a=(b+c)*d
while (true) { // NOT: while(true) ...
doSomething (a, b, c, d); // NOT: doSomething (a,b,c,d);
case 100 : // NOT: case 100:
for (i = 0; i < 10; i++) { // NOT: for (i=0;i<10;i++){
突出显示语句的成份,增强可读性。很难给出在C++代码中使用空白符的完整列表。上面的例子给出这种努力的通用想法。
- 方法名后如有其他名字,应该紧随一个空白符。
doSomething (currentFile); // NOT: doSomething(currentFile);
突出显示个体的名字,增强可读性。
一种替代的方法是在括号后跟随一个空白符,如doSomething( currentFile );这突出了名字的意图,但是,后面的括号是多余的,如去掉,空白语句不对称(doSomething( currentFile);)。
- 相对独立的程序块之间,变量说明之后必须加空白行分隔。
- 一个块内的逻辑单元应该使用1个空白行分隔。
在块内的逻辑单元间使用空白将增强可读性。 方法应该用3个空白行分隔。
通过使用比方法内更多的空白,使得在文件中方法更加突出。变量在声明时应该左对齐。
AsciiFile *file;
int nPoints;
float x, y;
增强可读性。通过对齐很明显认出变量与类型。
- 通过对齐增强可读性。
if (a == lowValue)
compueSomething();
else if (a == mediumValue)
computeSomethingElse();
else if (a == highValue)
computeSomethingElseYet();
value = (potential * oilDensity) / constant1 +
(depth * waterDensity) / constant2 +
(zCoordinateValue * gasDensity) / constant3;
minPosition = computeDistance (min, x, y, z);
averagePosition = computeDistance (average, x, y, z);
switch (value)
{
case PHASE_OIL : strcpy (string, "Oil"); break;
case PHASE_WATER : strcpy (string, "Water"); break;
case PHASE_GAS : strcpy (string, "Gas"); break;
}
通过对齐可以增强程序的可读性,虽然有时会破坏通用的规则。很难给出统一的对齐标准,上面的例子可供参考。