c++编程规范学习笔记(一)
来源:互联网 发布:淘宝上买四轮电动车 编辑:程序博客网 时间:2024/06/05 20:49
这是自己通过学习《C++ Codeing Standards》时,做的学习笔记!
一共讲述了101条规则、准则和最佳实践!!!
组织与策划问题
第0条、 不要拘泥于小节
不要规定缩进多少,应该规定用缩进来体现代码的结构;
不要规定行的具体长度;
不要在命名方面规定过多,应该规定的是使用统一的命名规则;如类、函数和枚举的名称形如:LikeThis,变量名形如:likeThis,私有变量名形如:likeThis_,宏名形如:LIKE_THIS;
不要规定注释体例,应该编写有用的注释。
在编写函数时,最好是“单入口,单出口”(sese)。
第一条、用高警告级别,要干净利落的进行编译
高度重视警告:使用编译器的最高警告级别。应该要求构架是干净利落的,理解所有的警告。通过修改代码而不是降低警告级别来排除警告。
第三方头文件:无法修改的库头文件可能包含引起警告的构造,这是可以用自己的包含源头文件的版本将该文件包装起来,然后包含此包装文件;
未使用的函数参数:如果确实不需要该参数,那就直接删除该函数的参数名就行了。如
point allocate(size_type numObjects,const void *localityHint = 0)
{
return static_cast<point>(mallocShared(numObjects *sizeo(t)));
}
改成
point allocate(size_type numObjects,const void */*localityHint*/ = 0)
{
return static_cast<point>(mallocShared(numObjects *sizeo(t)));
}
定义从未使用过的变量:可以通过插入一个变量本身的求值表达式;
void Fun()
{
Lock lock;
lock;
...
}
变量使用前可能未初始化:初始化该变量;
遗漏return语句:如
int FUn(Color c)
{
switch(c)
{
case Red:return 2;
case Green:return 0;
case Blue:
case Black:return 1;
}
}
修改成
int FUn(Color c)
{
switch(c)
{
case Red:return 2;
case Green:return 0;
case Blue:
case Black:return 1;
deault:assert(!"should Never get here!");
return -1;
}
}
有符号数/无符号数不匹配:强制转换.
第二条、使用自动构建系统
第三条、使用版本的控制系统
好记性不如烂笔头。请使用版本的控制系统(version control system,VCS)
第四条、在代码审查上投入
审查代码:更多的关注有主于提高质量。亮出自己的代码,阅读别人的代码。互相学习,彼此进步!
- c++编程规范学习笔记(一)
- java学习笔记(一)--编程规范和技巧总结
- Google C++ 编程规范——学习笔记(一)
- 《c专家编程》学习笔记(一)
- linux C编程学习笔记(一)
- 高质量C++/C 编程指南 阅读笔记(一)编程规范
- MISRA C编程规范(一)
- c++编程规范学习笔记(二)
- c++编程规范学习笔记(三)
- c++编程规范学习笔记(四)
- c++编程规范学习笔记(五)
- 高质量C编程指南 学习笔记(一)
- C专家编程学习笔记一
- 《Java编程规范学习笔记》
- [C学习笔记].编码规范
- C/C++编程规范(一)命名篇
- c 学习笔记 (一)
- C学习笔记(一)
- JTree用法及JTree使用经验总结(吐血推荐)
- linux经常要用到的几个命令
- ie6的clientWidth问题
- 关于虚函数和 Qt 的 Event 函数的简单说明
- 转:去掉IE浏览器里的脚本控件提示
- c++编程规范学习笔记(一)
- ORACLE UCM 《Content Integration Suite 8.0.0开发指导》
- 使用OgreMax自定义数据(CDATA)
- 深入理解信号槽(一)
- DLNA中的UPnP技术浅析
- NIIT奋斗
- 深入理解信号槽(二)
- extern
- linux内核符号表