使用visual studio 2013的过程中,除了代码高亮,代码自动缩进等功能让人兴奋不已之外,代码行内的自动加空格也是一大亮点,一直在写代码的过程中琢磨它的行内代码规则,自己也总结了一些,终究是不够全面,而且市面上的书对代码格式规范总结的书也不多。直到看了林锐老师《高质量C++编程指南》,书中对这一部分做了很全面的总结。
对这一部分做了一个笔记,以便于对代码格式规范学习和时常查阅。
代码行内的空格:
关键字之后留空格。
- 像
const、virtual、inline、case
等关键词之后至少留一个空格,否则无法辨析关键字。 - 像
if、for、while
等关键字之后应留一个空格再跟左括号’(‘,以突出关键字。
- 像
函数名之后不留空格,紧跟左括号,以与关键字区别。
‘(’向后紧跟,而‘)’、‘,’、‘;’
向前紧跟,紧跟处不留空格。‘,’ 之后要留空格,如
Func(x, y, z)
。如果‘;’不是一行的结束符,其后要留空格,如for (initialization; condition; update)
.赋值操作符、比较操作符、算术操作符、逻辑操作符和位域操作符,比如
“=”、“+=”、“>=”、“+”、“*”、“%”、“&&”、“<<”、“^”
等二元操作符的前后应加空格。一元操作符如
“!”、“~”、“++”、“--”、“&”
(地址运算符)等前后不加空格。像
“[]”、“.”、“->”
这类操作符前后不加空格对于表达式比较长的for语句和if语句,为了紧凑起见可以适当地去掉一些空格,如
for (i=0; i<10; i++)和if ((a<=b) && (c<=d))
简单的Windows应用程序命名规则:
- 类名和函数名用大写字母开头的单词组合而成。
- 变量和参数用小写字母开头的单词组合而成。
- 常量全用大写的字母,用下划线分割单词
1 | 例如:const int MAX = 100; |
静态变量加前缀s_(表示static)。
1
例如:static int s_initValue; //静态变量
如果不得已需要全局变量,则使全局变量加前缀g_(表示global)。
1
例如:int g_howManyPeople; // 全局变量
类的数据成员加前缀m_(表示member),这样可以避免数据成员与成员函数的参数同名。
1 | 例如: |
函数设计
参数规则:如果输入参数以值传递的方式传递对象,则宜用”const &“方式来传递,这样可以省去临时对象的构造和析构过程,提高效率。
内存管理相关注意事项
- 用 malloc 或 new 申请内存之后,应该立即检查指针值是否为NULL。防止使用指针值为 NULL 的内存。
- 不要忘记为数组和动态内存赋初值。防止将未被初始化的内存作为右值使用。
- 避免数组或指针的下标越界,特别要当心发生“多1”或者“少1”操作。
- 动态内存的申请与释放必须配对,防止内存泄漏。
- 用free或delete释放了内存之后,立即将指针设置为NULL,防止产生“野指针”。