Google 编码风格之命名规范(备忘)
Posted Firehotest
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Google 编码风格之命名规范(备忘)相关的知识,希望对你有一定的参考价值。
参考链接:http://zh-google-styleguide.readthedocs.io/en/latest/google-cpp-styleguide/naming/
通用规则:所有函数、变量、类与文件命名尽量不要使用缩写,以方便理解。除了不容易引起歧义的,如DNS等。
特殊规则:
1) 类的命名单词首字母使用大写且不能包含下划线;
函数命名类似,但是采用驼峰写法,首字母小写,后续的单词大写,中间不能有下划线,但如果您的某函数出错时就要直接 crash, 那么就在函数名加上 OrDie. 但对于取值和设值函数例外:
取值(Accessors)和设值(Mutators)函数要与存取的变量名匹配. 这儿摘录一个类, num_entries_ 是该类的实例变量:
class MyClass
public:
...
int num_entries() const return num_entries_;
void set_num_entries(int num_entries) num_entries_ = num_entries;
private:
int num_entries_;
;
2)所有变量命名都只能使用小写,单词与单词之间使用下划线间隔。类成员变量使用下划线结尾,函数的局部变量则不用下划线结尾;对于全局变量,在开头加上"g_",后续与前同;在Java当中,包package的命名需要使用小写字母。
3) 常量使用全部大写,而且单词与单词之间使用下划线隔开;
4) 非静态方法(实例方法)内调用另一个实例方法时,不需要画蛇添足地加this。但在以下的情况,需要显式写出this:
1)当在一个构造器中需要调用另一个构造器时,必须用到this的时候,需要添加this。
2) 需要return this的时候,则会在实例方法中显式地写出this。
3)需要初始化类成员的时候,需要显式写出this。
5) 初始化数组的时候,指定赋值数组时,记得在最后一个元素后加一个逗号",",原因是为了维护长数组。
如:
int[] array_ = new int[]1,
2,
3,;
6) finialize()方法中,应该总是假设基类版本的finialize()也在做某些重要的事情,所以要用super来调用基类的finialize()函数。但需要添加异常处理来添加这个句子。
protected void finalize()
if(!check_out)
System.out.println("Error");
super.finalize(); // you should add exception statement
7) 定义基类/ 抽象基类/ 接口的时候,为将来继承类/ 实现类/ 实现接口可能会抛出的异常占坑:
可以声明方法将抛出异常却不抛出的做法是允许的。这就涉及到一种良好的抽象基类/ 接口的编写方法:
为将来的派生类/ 实现接口能抛出这些已经在抽象基类/ 接口声明的异常,就在抽象基类/ 接口声明处加上异常抛出声明。
8/ 通常将一个类的数据成员设置为private,通过方法来引导客户端程序员访问数据成员。而且,基类和子类的数据成员的名字不宜相同。不然容易产生混淆。
9/ 我们一般规定:编写构造器时,避免调用其它的方法。如果调用,也只能调用private和final的方法。
以上是关于Google 编码风格之命名规范(备忘)的主要内容,如果未能解决你的问题,请参考以下文章