本学期的主要编码规范

本学期的主要编码规范

主要参考的是Google的C++代码规范

原版翻译

参考文章:1 2

头文件

函数参数顺序

将所有输入参数置于输出参数之前

  • 输入参数一般传值或常数引用(const references)
  • 输出参数戒输入/输出参数为非常数指针(non-const pointers)

包含文件的名称及次序

C 库、C++库、其他库的.h、项目内的.h

例:

  #include "foo/public/fooserver.h" // 优先位置 
  
  #include <sys/types.h> 
  #include <unistd.h> 
 
  #include <hash_map> 
  #include <vector> 
 
  #include "base/basictypes.h" 
  #include "base/commandlineflags.h" 
  #include "foo/public/bar.h"

声明次序

1)typedefs和enums;
2)常量;
3)构造函数;
4)析构函数;
5)成员函数,含静态成员函数;
6)数据成员,含静态数据成员。
宏 DISALLOW_COPY_AND_ASSIGN 置于private:块之后,作为类的最后部分。

其他特性

引用参数

函数形参表中,所有的引用必须的const!

const的使用

在任何可以的情况下都要使用const

命名约定

  • 总体规则:不要随意缩写。除函数名可适当为动词外,其他命名尽量使用清晰易懂的名词
  • 宏、枚举等使用全部大写+下划线
  • 变量(含类、结构体成员变量)、文件、命名空间、存取函数等使用全部小写+下划线,类成员变量以下划线结尾,全局变量以g_开头
  • 普通函数、类型(含类与结构体、枚举类型)、常量等使用大小写混合,不含下划线

格式

  • 行宽原则上不超过80列

  • 尽量不使用非ASCII字符,如果使用的话,参考 UTF-8 格式

  • 函数参数、逻辑条件、初始化列表:要么所有参数和函数名放在同一行,要么所有参数并排分行;

  • 除函数定义的左大括号可以置于行首外,包括函数/类/结极体/枚举声明、各种语句的左大括号置于行尾,所有右大括号独立成行;

  • ./->操作符前后都留空格,*/&不要前后都留,一个就可,靠左靠右依各人喜好;

  • 预处理指令/命名空间不使用额外缩进,类/结构体/枚举/函数/语句使用缩进;

  • 初始化用=还是()依个人喜好,统一就好;

  • return不要加();

  • 水平/垂直留白不要滥用,怎么易读怎么来。



《数学之美》第一章读后感

posted @ 2021-09-14 23:40  我真不是老实人  阅读(59)  评论(0)    收藏  举报