C++ 代码书写规范

      根据平时写代码总结出来的个人代码风格习惯。根据遇到的情况不断更新。

      头文件中避免多重包含
#ifndef    XXXXXX_H
#indefine XXXXXX_H
#endif

      局部变量尽量至于较小作用域,声明时就初始化

      尽量少使用全局变量,静态变量可以视作全局变量

      对于单参数的构造函数使用关键字explicit,避免隐式转换

      在类中使用特定的声明次序:public:在private:之前,成员函数在数据成员(变量)前。定义次序如下:public:、protected:、private:其中typedef与num,常量,成员函数,数据成员

      仅是数据的集合 使用struct

      使用引用做函数形参,需要加上const

      强制转换使用C++类型的,不要使用int y = (int ) x 或 int y = i nt ( x );

      使用迭代器与模板类型来说,尽量使用前置++\--,后置++\--需要对表达式值进行一次拷贝,增加了代价

      任何可以使用const的情况下,尽量使用 const变量,const函数(不会修改类成员变量状态)

      整数用0,实数用0.0,指针用NULL(C++11中 nullptr),字符(串)用'\0'。

      使用sizeof时,最好是sizeof(varname)

      函数名总以动词开头,后面跟随其它名称。CheckForErrors() 峰值命名法,不含有下划线”_”

      文件名(.cpp,.h) 全部小写,可以包含”_”

      类型命名 采用峰值命名法,所有类型名: 类、结构体、类型定义(typedef)、枚举

      变量名(结构体成员,命名空间普通成员),小写并且每个单词用”_”隔开。time_of_error,,类成员名以”_”结尾

      全局变量命名,以g/g_作为前缀,Logger g_Log; Logger* g_pLog;

      const常量命名 k+峰值命名

      命名空间的名称全部小写

      枚举值命名,所有字母都大写,并用下划线 '_' 作为单词分隔。

      #define 宏命名 全部大写 下划线
      
      函数的解释。
/**
* @brief 函数名: 函数功能
* @param 参数名:参数意义
* @return: 函数返回值
*/

      尽量不使用ASCII字符,使用UTF-8格式

      函数参数较多,一行写不下,我们应该分成几行来写,并且每个参数都另起一行对齐:
int  AnyMethod(int arg1
, int arg2
, int arg3
, int arg4)  {
}
//函数名和左括号之间没有空格
//参数和括号之间没有空格
//右括号与左大括号之间总是有空格
//如果函数有const 必须与最后一个参数为一行

      If语句
If   (settingslegendItem.backgroundMode ==
QwtPlotLegendItem::ItemBackground)  {
….

}//在花括号后加上注释有助于理解 ifXX

//if中内容过多 可以分行写

//if和括号之间有空格, 右括号与大括号之间有空格


      switch  (var)  {
            case 0:  {
            }

      Default:  {  

            }

}


While  (var)  {
}

      For语言书写规范
For  (double x = -200.0; x <= 1000.0; x += 100.0 )  {
}

      指针变量命名,指针变量名多数前面加p,”*”靠近变量名
String  *pName = new String;
句点(.)或箭头(->)前后不要有空格,指针/地址操作符(*、&)后不要有空格。

      布尔表达式 超过了80个字符(过长了),逻辑运算符总位于行尾
If (this_one_thing > this_other_thing &&
a_third_thing==a_fourth_thing&&
yet_another&last_one){
...
}

      Return 返回值不加括号

      字符后面有,与;,跟着字符走,若符号后面有字符之间添加空格
      (•••)与[•••]中间有字符,参数与括号之间无空格
      字符之间运算符、逻辑符等。字符空格符号空格字符

      定义set< list >x; 防止出现运算符
































你可能感兴趣的:(C++)