终于要开始coding period啦,在开始编码之前,需要对GNU Ring C++的Coding Style进行了解。GNU Ring C++的Coding Style是基于Google C++ Coding Style和Qt Coding Conventions的,所以首先先了解了解Google C++ Coding Style吧。
头文件
通常每一个.cc
文件都有一个对应的.h
文件。也有一些例外,如单元测试代码和只包含main()
函数的cc
文件。
正确使用头文件可以令代码在可读性、文件大小和性能上大为改观。
Self-contained 头文件
所有的头文件要能够自给自足,也就是说,用户和重构工具不需要为特别场合而另外包含额外的头文件。详言之,一个头文件要有#define保护,统统包含它所需要的其他文件,也不要求定义特别的symbols。
如果一个文件不是self-contained的,而是作为文本插入到代码某处。或者,文件内容实际上是其他头文件的特定平台(platform-specific)扩展部分,这些文件就要用.inc
文件扩展名。
如果.h
文件声明了一个模板或是内联函数,同事也在该文件加以定义。凡是有用到这些的.cc
文件,就得统统包含该文件,否则程序可能在构建中链接失败。
#define 保护
所有头文件都应该使用#define
来防止头文件被多重包含,其命名格式是<PROJECT>_<PATH>_<FILE>_H_
,如下对于foo/src/bar/baz.h
所示
1 |
|
作用域
类
函数
##