“编码风格应该尽可能地合理、简洁”
√ 要求类的书写风格如下:
//单继承,写成一行
classs ClassName : public BaseClassName
//多重继承,写成多行
classs ClassName :
public BaseClassName1,
public BaseClassName2
{
public:
//ctor & dtor
ClassName();
virtual ~ ClassName();
public:
//public overrides,from BaseClassName1
virtual void Func1_1();
//public overrides,from BaseClassName2
virtual void Func2_1();
//public virtual method
virtual void Func3_1();
//public methods
void Func1();
protected:
// protected overrides,from BaseClassName1
virtual void Func1_1();
// protected overrides,from BaseClassName2
virtual void Func2_1();
// protected virtual method
virtual void Func3_1();
// protected methods
void Func1();
private:
// private methods
void Func1();
// private Fields
type m_field1;
type m_field2;
}
√ 要求将花括号单独写在一行。
//不好
if(DoSomething()){
…
}
//不好
if(DoSomething()){…}
//好
if(DoSomething())
{
…
}
√ 要求if、for、do、while、case、switch、default等语句自占一行,且if、for、do、while
等语句的执行语句部分无论多少都要加括号
{}
√ 要求程序块要采用缩进风格编写,缩进的空格数为4个。
√ 要求相对独立的程序块之间、变量说明之后必须加空行。
×
不要把多个短语句写在一行中,即一行只写一条语句。
√ 要求较长的语句(>80字符)要分成多行书写。
√ 要求循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分,长表达式要在低优先级操作符处划分新行,操作符放在新行之首。
例如,
if ((taskNo < MAXTASKNUMBER)
&& (taskNo>0))
{
…
}
例如,
//不好
rect.Length = 0; rect.Width = 0;
//好
rect. Length = 0;
rect. Width = 0;
√
要求
注意运算符的优先级,并用括号明确表达式的操作顺序,避免使用默认优先级。
例如,
//不好