博客转载自:http://www.pclcn.org/study/shownews.php?lang=cn&id=209
文件命名
所有的文件名单词之间应该用下划线隔开,例
如unordered_map.hpp。
头文件的扩展名为.h
模板类实现文件的扩展名是.hpp
源文件的扩展名是.cpp
目录命名
所有的目录及其子目录命名应该符合,如果由多个单词组成,其之间用下划线隔开,PCL中各个目录遵循以下规则:
头文件都应放在源码目录树中的include/下
模板类实现文件都应放在目录树中的include/impl/下
源文件都应放在目录树中的src/下
Include语句
当文件在同一目录下时Include指示语句用双引号,在其他情况下则用尖括号,例如:
#include <pcl/module_name/file_name.h> #incluce <pcl/module_name/impl/file_name.hpp> #include “file_name.cpp” //在同一目录下
宏定义命名
宏定义中字母都采用大写格式,为头文件所定义的宏最后面还需要加上下划线,并且名称从include下目录开始,例如pcl/filters/bilateral.h对应PCL_FILTERS_BILATERAL_H_。#ifndef和#define定义放在BSD协议后面代码前面。 #endif定义一直在文件结尾,并且加上一句注释掉的宏对应头文件的宏定义,例如:
// the BSD license #ifndef PCL_MODULE_NAME_IMPL_FILE_NAME_HPP_//为避免重复包含头文件而定义的宏 #define PCL_MODULE_NAME_IMPL_FILE_NAME_HPP_ // the code #endif // PCL_MODULE_NAME_IMPL_FILE_NAME_HPP_
命名空间命名
命名空间多于一个单词的,单词之间应该用下划线连接,例如
namespace pcl_io { ... }
类/结构命名
类名(和其他自定义类型的名称)应该是CamelCased(驼峰命名)命名规范,也就是连写单词组成命名,每个单词首字母大写。但是有例外:如果类名包含一个缩写,这个缩写应该全部大写,类名和结构名最好是名词组成的名字例如:PFHEstimation代替了EstimatePFH ,以下面正确的命名代码例子:
class ExampleClass; class PFHEstimation;
未完待续,敬请关注“PCL推荐的命名规范(2)”的其他内容。