《代码阅读方法与实践》阅读笔记三
之前已经看完了《代码阅读方法与实践》的前六章,基本上也就是看得比较粗略,没有很精细的阅读,上节课听到老师说的“学术交流会”还是很紧张的,挺害怕被问到问题,结果回答不出来可怎么办啊,不仅丢人,分也送给别人了啊,这可怎么破啊。所以呢,我打算近期再看一遍,不管有没有用,算是给自己加点自信吧。
第七章,讲的是编程规范和约定,主要就是文件的命名及组织、缩进、编排、命名约定、编程实践、过程规范之类的,其实这一章也不用我做过多的介绍,因为大家应该都有听各科老师讲过好几遍了,道理大家都懂,但是大家除了在理论上认同,编程过程中也应该切实按照规定来实行。因为我觉得虽然现在我们已经步入大三了,但是,我注意到还是有好多同学编程过程中存在规范的低级问题,当然我自己也是这样。这些都是小细节的习惯问题,说改也容易也不容易,还是看自己,想改自己多注意就行了吧。
第八章,是讲的文档,我们现在的软件需求分析这门课,也介绍了一些文档。其实老师也说过,我们不是只敲代码的程序员,一直以来,大家都觉得会写代码是最重要的,文档也是很重要的。任何重大的软件开发项目,在开发过程中,会生成大量不同的文档。阅读代码时,因该尽可能的利用任何能够得到的文档,因为阅读一个小时的代码所得到的信息只不过相当于阅读一分钟文档。具有代表性的文档类型主要有:系统规格说明书、软件需求规格说明、设计规格说明、系统测试规格说明,最后是由许多不同文档组成的用户文档。利用文档可以快捷的获取系统的概况,了解提供特定特性的代码。当然在阅读代码是,要时刻注意,文档常常会提供不恰当的信息,误导我们对源代码的理解。两种不同的歪曲是未记录的特性和理想化表述,这就是文档存在的问题。
第九章,讲的主要是系统构架。书上写道,从系统的源代码库洞悉系统的构架,不是一件容易做到的事。然而,在识别出重要的构架元素后,那么,浏览整个系统,了解系统的结构和属性,以及规划增加、修改和重构活动都会变的更为容易。这是因为,一旦提取出系统的构架性特征,我们就立即与系统的创建者共享一套语义丰富的词汇。另外,对系统构架的理解,能够帮助我们了解交互的类型、通信模式和代码结构。有人说,构架师老人的艺术:在实际工作中,经验丰富的设计者更可能预知特定的设计如何处理具体的问题以及哪些构架性的解决方案可以组合起来形成一个功能体。在第九章,介绍了通常情况下如何再次应用成功的设计,以及阅读代码时经常遇到的一些构架重用的形式。
第十章,讲的是代码阅读工具。阅读代码时,绝大多数情况下所阅读的代码都可以在线访问。这意味着,我们能够使用工具来处理源代码,以提高阅读的效率,加强对代码的理解。下面是可能在代码体上可能执行的一些典型任务:
•识别出一个特定实体的声明,确定函数、变量、方法、模板或接口的类型。
•找到特定实体定义在什么地方,例如,找到函数或类的定义体。
•找出所有用到某个实体的位置。
•列举违背编码规范的代码。
•发现对理解给定代码段有所帮助的代码结构。
•查找解释特定特性的注释。
•检查常见的错误。
•查看代码的结构。
•了解代码如何与它所在的环境交互。
这一章主要就是介绍一些工具,它们可以用来自动执行上述任务,并且是以最高的方式执行。另外建模工具经常能够帮助逆向工程系统的构架,同时,大量的文档工具能够从特殊格式的源代码中自动地创建项目的文档。这章介绍了正则表达式、用编辑器浏览代码、用grep搜索代码、找出文件的差异、开发自己的工具、用编辑器来协助代码阅读、代码浏览器和美化器、运行期间的工具和非软件工具等。
这本书就这么读完了,心里还是没有太清明的概念,还是有点担心啊。这里就不说第十一章了,就是一个完整的例子。这本书还是很不错的,每章都有例子,而且每章末尾都会有进阶读物,都是关于本章内容的,感觉挺好的,还是建议大家来读读吧。