C++ Primer 学习 《编程风格》
来源:互联网 发布:上学吧软件下载 编辑:程序博客网 时间:2024/05/29 10:39
《C++ Primer》中并无编程风格这一章,但是在无形中我觉得Stanley的编程风格一定是值得学习的。因此把一些看着不错的编程风格记录在这。
括号的使用
if(std::cin>>currVal){int cnt = 1;//...while(std::cin>>val){if(val == currVal)++cnt;else{std::cout << currVal << " occurs " << cnt << " times " << std::endl;currVal = val;//...cnt = 1;//...}}//while loop ends here}//outermost if statement ends here
仔细分析,有四点值得借鉴:
1.while,if,else,for后跟的大括号,把开括号紧跟在同一行,闭括号则在结束行。我想这样做好处是:节省空间,连续多个if语句或for语句嵌套是常有的事,这样做能省下若干行空间。缺点是:有时候难以看清闭括号对应哪个开括号。
2.为了克服第上述缺点,Stanley在重要的闭括号,或者是和开括号距离比较远的闭括号,后面添加了注释,标明是对应哪个部分。
3.输出流操作符"<<"不要都挤在同一行。最好保证代码能在半页显示。
4.使用很多空格。如"<<","="左右都有空格,双引号中内容也有空格。这样让别人读代码(也包括后期读自己的代码)更加清晰,舒服!
头文件
头文件命名
头文件的名字一般和其内部定义的类同名。
这是可以理解的,但如果头文件中包含的不是类呢?
如果有多个辅助函数,我的习惯是将功能类似的函数放在同一个头文件中,起一个概括性的名字。而有些同学的做法是,每个函数弄一个头文件,头文件名字就是函数名。我也说不清哪个好哪个差,经验太少,以后慢慢琢磨。
头文件内容
大家在头文件里一般放什么呢?很多人会把所有的函数实现、类的实现等,都塞到一个头文件中,其实这么做并不是很好。很容易产生Link Error,重定义的错误。
一般来说,头文件中放的是:类定义,函数定义,const,constexpr这样在任何文件中都只能定义一次的东西!
head guards
看着陌生的名词,其实就是最常用的头文件中#ifndef,#define,#endif啦。
不要用using
头文件中尽量不要包含using namespace。这是因为头文件会被很多cpp文件包含,如果包含了,很可能引起命名空间重复。
变量命名
1,变量命名要有意义
2,类名,一般用大写字母开头。如:Sale_item
缩进
一些编辑器具有自动缩进的功能(代码整理),使用这样的编辑器对维护代码很有好处。(VS下 ctrl K - ctrl D可以实现)
0 0
- C++ Primer 学习 《编程风格》
- C++ Primer 学习笔记:C风格字符串
- c++primer学习笔记(4.3) C风格的字符串
- C++primer学习:模板编程(4)
- c++primer 2/27---C 风格字符串
- 第二遍C++primer->C风格字符串
- C 风格字符串 (c++primer)
- C语言编程风格--Points on C 学习(2)
- C语言编程风格
- C编程风格
- C语言编程风格
- c语言编程风格
- c/c++编程风格
- C/C++编程风格
- C++ Primer 学习笔记_13_C风格字符串
- 学习google编程风格
- C++primer学习:模板编程(2):类模板的定义
- C++primer学习:模板编程(3):效率与灵活
- 360全景制作
- 【调试】Logcat中不提示异常信息或是提示让人难以捉摸的解决之道
- android 启动闪现黑屏问题及分析
- Android 实现ListView的A-Z字母排序和过滤搜索功能,实现汉字转成拼音
- Geeks LCA最低公共单亲节点
- C++ Primer 学习 《编程风格》
- Longest Valid Parentheses
- iOS Xcode 5.1.1 使用微信不通过编译问题(ibWeChatSDK.a, missing required architecture arm64)
- mysql学习小札(2)-- 数据备份、还原、导入导出方法的简单总结
- 并不是所有的程序员都适合做技术管理
- 第二届全球金融峰会演讲PPT
- SYBASE ASE 存储原理了解_页、扩展、分配、设备片段
- 8张图理解Java
- C++ Primer 学习 《变量类型》