本学期计划使用的C++代码规范


 

在查找资料的过程中,发现谷歌公司的c++代码规范流传最广也最详细,看起来非常规整,李开复也在其微博上公开分享:”我认为这是地球上最好的一份 C++ 编程规范,没有之一,建议广大国内外IT研究使用。“故我将尝试采用谷歌的代码标准来规范自己打码。

鉴于现在我的c++水平仍处于入门阶段,下面将总结一些适用于我的代码规范。


 

命名规范

  • 文件命名全部小写,可以使用-或_,在没有特殊规定时,推荐使用下划线_。
  • 在类型命名(结构体、类、类型定义、枚举)时,每个单词首字母均大写,其余小写,不使用下划线。
  • 变量命名时一律小写,单词间可以用下划线_连接,类的成员变量以下划线_结尾,但结构体变量不需要。
  • 全局变量前可以加前缀g_作为标示。
  • 常量命名时,在变量名称前加前缀k,且除去开头的k外每个单词开头字母均用大写。
  • 函数命名时常使用大小写混合,但在命名取值和设值函数时要特别注意函数名应与变量名一致。以下为范例:
class TestClass  {
   public:
              …
              int num_student()...
              void set_num_student(int)...
   private:
            int num_student_;             
};

 

 缩进规范

  • 当参数列表过长时,以逗号,结尾,换行后首字母对齐,以下为范例:
    ReturnType ClassName::ReallyLongFunctionName(int par_name1,
                                                 int par_name2) {
    bool retval = DoSomething(averyveryveryveryverylongargument1,
                              argument2, argument3);
    }
  •   条件句:
  1. 条件括号内无空格,条件括号前后各1空格,if执行体2空格缩进。
  2. 条件变量过多时,条件运算符 && 结尾,换行后条件左对齐。
  3. 大括号与else同行,else左右各1空格。
    if (condition) {
      if(this_thing1 > that_thing1 &&
         a_third_thing == a_forth_thing) {
         ...
        } else {
           dosomething;
        }
    }
  4. 条件相对switch 2空格缩进,执行体相对switch 4空格缩进。
    switch (var) {
      case 0: {
        dosomething;
      break;
    }
      default: {
        dosomething;
    }
  5. 访问限定符 : 1空格缩进。
    class EventLoop : public CallbackInterface {
     public:
     ...
    }
 
posted @ 2021-09-09 16:27  4Get5th  阅读(25)  评论(0编辑  收藏  举报