一、PCL推荐命名规范
1.文件命名:所有的文件名单词之间应该用下划线隔开,例如unordered_map.hpp(模板类实现文件)
2.目录命名:所有的目录及其子目录命名时,如果有多个单词组成。其之间用下划线隔开。
3.include语句:当文件在同一目录下时include指示语句用双引号,在其他情况下则用尖括号。
#include <pcl/io/pcd_io.h> #include <pcl/io/ply_io.h> #include "file_name.cpp"4.宏定义命名:宏定义中所有字母采用大写格式,为头文件所定义的宏最后面还需要加上下划线,并且所有名称从include下目录开始,#ifndef和#define放在代码前面,#endif放在文件结尾,并且加上一句注释的宏对应头文件的宏定义。
5.命名空间的命名:命名空间多于一个单词的,应该在单词中间加上下划线。
6.类/结构体命名:使用驼峰命名规范,也就是连写单词组成命名,每个单词首字母大写,但如包含缩写应该全部大写,并且最好使用名词组成名字。如: class ExampleClass;
7.函数/成员函数命名:命名也采用驼峰命名规范,但除了首单词首字母小写,其他单词首字母均采用大写,并且参数命名应该用下划线隔开,函数和成员函数命名最好采用动词,并确保命名能体现函数的功能。例如:
int applyExample(int example_arg)8.变量命名:单词之间应该用下划线隔开,如果是成员变量最后要以下划线结尾。
int my_variable;//变量 int example_list_;//成员变量9.常量命名:常量的名字应该是全部大写,例如const static int MY_VARIABLE=100;
10.return语句:规定return语句必须有返回值,但是没有返回值也就可以编译通过。
二、PCL推荐的缩进与格式
1.命名空间缩进格式
在头文件里,命名空间的内容应该缩进两个空格.
namespace pcl { class Foo//缩进两个字符 { }; }在一个实现文件里,对每一个类成员函数或者函数的命名必须添加命名空间限定
void pcl::Foo::bar()//带上命名空间限定pcl { ... }2.类格式
一个模板类的模板参数必须与类定义在不同行,例如:
template<typename T>//不同行 class Foo { ... }3.函数/类成员函数格式
每一个函数的返回类型声明必须与函数声明放在不同行,例如:
void//不同行 bar();在函数实现的时候也是一样,返回类型声明必须与函数声明放在不同行。
void//不同行 pcl::Foo::bar() { ... }4.花括号
花括号成对出现,另起一行定义,必须闭合才能组成合理的程序块,但也可以省略。
if(a<b) { ... } else { ... }5.空格格式
在PCL中的每一个代码块的标准缩进是两个空格,这里用单个空格来隔开函数/类成员函数名字与其参数列表
int exampleMethod (int examply_arg);如果在头文件内嵌套应用了命名空间名,需要将其缩进两个空格,例如:
namespace foo { namespace bar//缩进两个空格 { void//缩进两个空格 method (int my_var)//缩进两个空格 } }类和结构成员采用两个空格进行缩进,访问限定(public,private)与类成员一级,而在其限定下的成员,这需要缩进两个空格。例如:
namespace foo { class Bar//缩进两个字符 { int i;//缩进两个字符 public: int j;//缩进两个字符 protected: void//缩进两个字符 baz (); //缩进两个字符 } }
