《代码阅读方法与实践》阅读笔记1

《代码阅读方法与实践》阅读笔记1

代码阅读方法与实践知识点总结:

与代码相关的大部分概念:包括编程的构造、数据类型、数据结构、控制流程、项目组织、代码规范、文档和框架。

阅读是一个站在巨人的肩上看世界的过程,今天我们在阅读中得到的东西可能是别人14年的经验。很多程序员有这样的哲学:“只要它能工作,它就是正确的”

促使程序员于都代码的各种原因:将代码作为文献、将代码作为范例、维护、演进、重用、审查

对于各种语言的程序要搞清楚各种语言的生命周期。代码阅读过程中可以使用的“武器”之一就是:编译器。

对于没有声明为static的全局变量可能会与定义于其他文件中的同名变量产生意外的相互作用,所以最好的办法是确保所有只用于单一文件的变量全都声明为static.

大多数开发环境都提供库函数、类和方法的在线文档。在Unix系统上可以使用man命令,在Windows上可以使用微软开发者网络资源库MSDN(Microsoft Developer Network Library),而Java API的文档都是HTML格式,作为Sun JDK的一部分提供。要养成遇到库元素就去阅读相关文档的习惯,这将会增强您阅读和编写代码的能力。

所有控制流程的语句,程序一般将组成控制语句的相关语句缩进,但是缩进只是对人类程序阅读者一种直观的提示,若果没有给出花括号,控制结构将只影响控制语句后的单个语句,不管如何缩进。所以注意代码的实际执行情况和缩进是否一致。 

给定case或default标记的代码,在结束时如果没有语句(比如break,return或continue)将控制权移到switch块外部,程序将继续之星下一个标记后的代码,分析代码是要留心这种错误。

for循环注意执行代码体的次数,for语句的3个部分是表达式,不是语句。因此,如果在循环开始或每次迭代结束时需要执行多个操作,不能用花括号将表达式聚合到一起。然而,我们经常会看到这种用法,使用都好(,)运算符将表达式序列化,以此将表达式聚合到一起。return语句退出函数,break语句退出循环体,exit退出整个程序,C++,C#和java程序还可以通过异常跳出循环。

对于字符合布尔型表达式,当每个小写字母的代码与对应的大写字符之间的距离不固定是,这段代码都不能工作。许多非ASCII字符集至少存在这些问题中的一个。

阅读可以开阔世界,别人讲不同的风景带进我们的世界。

在阅读代码时,遇到标记和goto语句应该立即引起足够的重视,它们容易被无用,创造出“意大利面条”式的代码

小规模重构、do循环和正整形表达式、再论控制结构

 

指针、机构体、共用体、动态内存和类型名称声明是构成复杂C数据结构类型和算法的基本元素。

在C程序中,指针一般用来:构造链式数据结构、引用动态分配的数据结构、实现引用调用、访问和迭代数据元素、访问数组参数、引用函数、作为其他值的别名、代表字符串、直接访问系统内存

结构在C程序中的应用如下:将一般作为一个整体来使用的数据元素集合到一起、从函数中返回多个数据元素、构造链式数据结构、映射数据在硬件设备、网络链接和介质上的组织方式、实现抽象数据类型、以面向对象的方式编程

在C程序中共用体主要用于下述用途:有效地利用存储空间、实现多态、使用不同的内部表达方式对数据进行访问

程序编写时大小未知的数据结构,或程序运行时大小会增长的结构,都存储在程序运行期间动态分配的内存中

typedef声明为一个已有的类型增加一个新的名称,或称替代名。

posted @ 2015-10-02 12:52  巴蒂青葱  阅读(223)  评论(0编辑  收藏  举报