阅读:《高质量的C/C++编程》
读了本书的前言和导读,让我更加冷静。本来我的专业和计算机可以说是没有什么关系,可能会联系上的就是当在野外勘察完之后要将《野外记录簿》上的图和资料汇总在电脑上,又或者说通过别人编译好的一些绘图软件将岩石的形态及特征在电脑上用3D图表现出来。报志愿的时候,和通过上大学的一年,还是觉得自己对计算机有一种喜欢在里面,所以我还是和填报志愿时一样,选择开始学习编程这个让人掉头发的东西。
学计算机的人有很多,专业出身的也很多,但其实我感觉当在学校时学到的只是皮毛中的皮毛,甚至可以说大多数人都只是在应付考试的过程中顺便将知识记住了,而不是真正的学会了学进了心里。就像作者所有,在他的测试中只有10%的人是合格的,很多人都对自己所写出来的程序没有高标准的要求,只要求可以运行就好了,而不去注意如何将它优化,让它思路更加清晰。程序是人所写的,也是为人所用的,当程序简单明了高质量了,我想在使用时也会更加方便快捷。如果说一味的去写程序,哪怕写了几万行十几万行,如果不要求质量,我想进步的也只是对低质量代码的熟悉程度,如果对代码质量产生了高质量的要求,那么我想没写一个代码就会有不一样的收获,不一样的进步,就好比作者所说的“编程高手”和“编程老手”还有“所谓的‘真正’的程序员”。
我只是刚刚开始学习编程没几天的小菜鸟,现在的我甚至连最基本的代码都不能熟练的写出来,甚至分不清那些函数,语句,指针,但今晚我看了这本书的几页,可能我会对程序员产生恐惧,因为我离“编程老手”、“编程高手”之间有太大的差距,甚至不说他们,我离“真正”的程序员之间也有很大的差距。
但是既然走上了这条路,我就会慢慢的去学习它,虽然程序员的工作时期很短暂,但我还是会抓紧时间去学习,首先我就会认真阅读作者的这本书和一些其他的书籍(虽然以我现在的水平还不能够完全理解,但我会多读几遍,在之后也会阅读),然后在学习中多注意细节,要首先掌握基本知识,并不是只是会了就会写代码了,这里我也要改正一下第一篇博客中所说的,不止是要尽可能多的写代码,同时还要要求代码的质量。
期待有一天小菜鸟也能成为大牛。F
C/C++通常分为两个文件:
头文件:用于保存程序的声明(以.h为后缀)
定义文件:用于保存程序的实现(C程序中以.c为后缀,C++程序中通常以.cpp为后缀,也有一些系统以“.cc”或“.cxx”为后缀)
版权和版本的声明
版权和版本的声明位于头文件和定义文件的开头,主要内容:
(1)版权信息。
(2)文件名称,标识符,摘要。
(3)当前版本号,作者/修改者,完成日期。
(4)版本历史信息。
头文件:
头文件由三部分内容组成:
(1)头文件开头处的版权和版本声明。 (如上1中所述)
(2)预处理块。
为了防止头文件被重复引用,应当用 ifndef/define/endif 结构产生预处理块。
(所有#开头的都是预处理)
(3)函数和类结构声明等。
注:
-
头文件中只存放“声明”而不存放“定义”
-
不提倡使用全局变量
(全局变量:在函数之外定义的变量。作用范围:整个工程;生命周期:当你的整个工程结束)
定义文件:
定义文件有三部分内容:
(1) 定义文件开头处的版权和版本声明。
(2) 对一些头文件的引用。
(3) 程序的实现体(包括数据和代码) 。
头文件的作用:
- 通过头文件来调用库功能,使编译器从库中提取相应的代码。
- 头文件能加强类型安全检查,使编译器指出错误。
目录结构:
如果一个软件的头文件数目比较多(如超过十个),通常应将头文件和定义文件分别保存于不同的目录,以便于维护。 如果某些头文件是私有的,可以将其与定义文件放在同一个目录。