访问器和突变器感觉机翻的问题,用变量命名方法,因为用的时候和变量对应;类和命名空间里的常量如果作为API的话,也这样命名,看起来像函数。C语言没有这两个东西,无所谓了 Namespace Names 命名空间名称 Namespace names are all lower-case, with words separated by underscores. Top-level namespace names are ba...
参考:ref:预处理宏 <preprocessor-macros>; 通常 不应该 使用宏. 如果不得不用, 其命名像枚举命名一样全部大写, 使用下划线: #define ROUND(x) ... #define PI_ROUNDED 3.0 6.10. 命名规则的特例 Tip 如果你命名的实体与已有 C/C++ 实体相似, 可参考现有命名策略. bigopen(): 函数名, 参照 open() 的...
GoogleC编程规范 一、头文件 1. #define 的保护 2. 头文件依赖 3. 内联函数 4. -inl.h 文件 5. 函数参数顺序(Function Parameter Ordering) 6. 包含文件的名称及次序 二、作用域 1. 命名空间(Namespaces) 2. 嵌套类(Nested Class) 3. 非成员函数( Nonmember)、静态成员函数( Static Member)和全局函数...
定义类的文件名一般是成对出现,如:foo_bar.h foo_bar.cc 若是类中含大量内联函数,我们还可使用-ini.h文件,使之文件内容更加清晰,于是又如: url_table.h url_table.cc url-table-ini.h grpc项目的文件截图 命名空间 ——— 命名空间全小写,并基于项目名称和目录结构,比如 google_awesome_project 类 ——...
重点可以看看第六部分的命名规范,文件命名,类型命名,变量命名,函数命名。 二、头文件 self-contain 头文件:就是头文件要能自给自足,也就是要包含它所需要的所有其他的头文件 define保护:所有头文件都要有#define来保护头文件被多重包含,为保证唯一性, 头文件的命名应该基于所在项目源代码树的全路径,例如:项目 ...
函数命名,变量命名,文件命名要有描述性;少用缩写。 尽可能给有描述性的命名,别心疼空间,毕竟让代码易于新读者理解很重要。不要用只有项目开发者能理解的缩写,也不要通过砍掉几个字母来缩写单词。 intprice_count_reader;// 无缩写intnum_errors;// “num” 本来就很常见intnum_dns_connections;// 人人都知道 ...
C/C++函数参数分为输入参数和输出参数两种,有时输入参数也会输出(译者注:值被修改时)。输入参数一般传值或常数引用(const references),输出参数或输入/输出参数为非常数指针(non-const pointers)。对参数排序时,将所有输入参数置于输出参数之前。不要仅仅因为是新添加的参数,就将其置于最后,而应该依然置于输出参数...
四、函数命名 4.1. 普通函数,函数名以大写字母开头,每个单词首字母大写,下划线分隔 intAddTableEntry() boolDeleteUrl() 4.2. 存取函数,要与存取的变量名相匹配 classMyClass{ public: ... intnum_entries()const{returnnum_entries_;} voidset_num_entries(intnum_entries){num_entries_=num_entries;} ...
//函数定义都置于命名空间中 void MyClass::Foo() { ... } } // namespace mynamespace 通常的.cc文件会包含更多、更复杂的细节,包括对其他命名空间中类的引用等。 #include "a.h" DEFINE_bool(someflag, false, "dummy flag"); class C; //全局命名空间中类C的前置声明 ...
如果需要更多的函数功能,class更适合,如果不确定的话,直接使用class。 如果与STL结合,对于仿函数(functors)和特性(traits)可以不用class而是使用struct。 注意:类和结构体的成员变量使用不同的命名规则。 7. 继承(Inheritance) 使用组合(composition,译者注,这一点也是GoF在《Design Patterns》里反复强调的)通常比使用...