• PCL学习笔记(二)、PCL编码风格


    一、PCL命名规范

    1、文件命名

    所有的文件名单词之间应该用下划线隔开

    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 (); //缩进两个字符
          }
        }
    ————————————————
    版权声明:本文为CSDN博主「o180o」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/o180o/article/details/90488544

  • 相关阅读:
    【题解】洛谷P1896 [SCOI2005] 互不侵犯(状压DP)
    [BZOJ4383][POI2015] Pustynia-[线段树+dp+拓扑排序]
    [agc016E]Poor Turkeys
    [arc082E]ConvexScore-[凸包]
    [BZOJ4011][HNOI2015]落忆枫音-[dp乱搞+拓扑排序]
    [arc062E]Building Cubes with AtCoDeer
    [arc079F]Namori Grundy
    [agc006F]Blackout
    [BZOJ4444][SCOI2015]国旗计划-[ST表]
    [BZOJ1007][HNOI2008]水平可见直线-[凸包]
  • 原文地址:https://www.cnblogs.com/zhongllmm/p/15965846.html
Copyright © 2020-2023  润新知