代码阅读方法与实践阅读笔记一

这是一个程序员不可错过的一本书,每个人都有自己的阅读方式、方法和工具,也许改变并不容易。代码阅读有自身的一套技能,重要的是能够确定什么时候使用哪项技术。本书中,作者使用600多个现实的例子,向读者展示如何区分好的(和坏的)代码,如何阅读,应该注意什么,以及如何使用这些知识改进自己的代码。养成阅读高品质代码的习惯,可以提高编写代码的能力。

阅读代码可能有许多原因:或是为了修复、检查、改进代码;或是为了发现发现它的运作机理;或是提取可重用的材料加以利用。有些人可能为了提高而去看开源软件代码,那是幸福的;有些人可能是工作交接,有人指导、有文档,那也是幸福的。

   养成阅读高品质代码的习惯,可以提高编写代码的能力。阅读代码是程序员的基本技能,同时也是软件开发、维护、演进、审查和重用过程中不可或缺的组成部分。《代码阅读方法与实践》将阅读代码作为一项独立课题,系统性地加以论述,引用的代码均取材于开放源码项目——所有程序员都应该珍视的宝库。这本书围绕代码阅读,详细论述了相关的知识与技能。“他山之石、可以攻玉”,通过仔细阅读并学习本书,可以快速地提高我们读者代码阅读的技能与技巧,进而从现有的优秀代码、算法、构架、设计中汲取营养,提高自身的开发与设计能力。

本书适用于对程序设计的基本知识有一定了解,并想进一步提高自身开发能力的读者比如我们。对于程序员这本书算是一本辅助性的书籍,也许书中的工具已经过时,但是书中的方法我们绝对还在使用。

书中一共11章,出版年代比较久,基本上以C语言的开源软件为主,主要看了对于程序基本控制阅读方式,while、for、switch、递归等进行了很好的说明。其中的C语言部分,本来觉得翻翻就过去了,发现作者的视角与众不同。传统的C语言描述,都介绍语法,而作者总结了C的building block在实践中的应用。例如struct可以用于从函数返回多个元素,构造链表,映射数据,实现抽象数据类型,模拟面向对象编程。其他数据结构章节描述也类似。看得出来是作者在读各种open source code的时候有意总结为止。另一个例子是库的目的:重用代码、组织模块集合、组织和优化编译过程、实现应用程序的按需载入(我再增加一点:实现应用组件的动态升级)。其中一道课后题目是,for循环的十个用法,令人汗颜。

刚开始讲的是基本的编程元素,刚开头就展示了一个完整的程序,并进行了比较详细的讲述,然后下边就是介绍函数和全局变量、while循环、条件和块、switch语句、for循环、break和continue语句、字符和布尔型表达式、goto语句、小范围重构、do循环和整形表达式再论控制结构等一些比较基础的东西。这些大部分都有相关课程讲过,我就没有很系统的阅读,只是大略的看了看,在这就不详细介绍了,不过我打算以后再仔细看看这一章,也能顺便巩固一下以前学过的东西,所谓“温故而知新”,古人的智慧是值得信赖的。

在介绍高级C数据类型时,主要也就是介绍了指针、结构、共用体、动态内存分配以及typedef声明,这些我们在以前的学习中也或多或少的有所涉及,它每个模块后都有相应的代码实例并有详细讲解。这些东西看上去熟悉又陌生,熟悉是因为以前有的学科学习过,有的还不只学过一次,陌生是因为虽然学过,但我都没有很好地掌握,想要看透彻还得下功夫,这的确是个问题。这让我意识到自己之前的学习很不稳固,必须得重新系统学习一下,才能够运用,当然也得像这本书上说的一样,要结合实例,纸上谈兵是毫无作用的。

还让我印象比较深刻的是第四章,主要介绍了C数据结构,主要有向量、矩阵和表、栈、队列、映射、集合、链表、树以及图等,其中大部分都是我们数据结构这门课上已经讲过的内容,这些内容还算比较熟悉,因为当时为了通过这门课还真是破费了些功夫的。由一开始的不能理解,到慢慢后来理解了原理及方法,越看越觉得有意思。

你可能感兴趣的:(代码阅读方法与实践阅读笔记一)