PCL编程风格

一、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 (); //缩进两个字符
  }
}

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值