您的位置:首页 > 编程语言

常用代码阅读方法

2013-06-28 17:28 141 查看
Robert C.Martin在《代码整洁之道》中,强调“代码被阅读的时间,远远多于被修改的时间”。经过几个项目的实践之后,更加能够体会其中五味。本文整理了一些目前常用的代码阅读方法,以供分享和讨论。

项目文件树视图

一个实用项目,其项目文件成百上千,分布在多层次的目录中,包含编译配置文件、图片资源文件、运行参数文件、源码文件、第三方支持文件等等。就源码而言,又包含了公用头文件、模块头文件、模块实现文件等等。只靠缺省的资源管理器查看,不能很好地满足要求。

通过以下方法,可以从整体有效阅读理解项目文件。

1. 资源管理器。能够按层次查看指定目录的文件。

2. 目录展开模式。所有文件平行列出,通过字母排序、模糊查找,能够查看指定名字的文件。

3. 类展开模式。所有类平行列出,通过字符排序、模糊搜索,能够查看指定类文件,以及类包含的接口。

4. 结合过滤器,能够减少关注的文件数量。

文件结构视图

了解整个项目,及模块的关系后,随之开始文件级别的理解。一般文件包含包含头文件包含,类接口定义,类内部函数定义,类变量定义等几部分。实践时,根据功能,可能几百行或几千行。

通过以下方法,可以有效阅读单个文件。

1. 文件结构树。头文件、变量、函数,按文件中的顺序显示,如果复杂代码分区存放,有助于理解文件结构。

2. 排序显示。头文件、变量、函数全部显示,按字符排序、按类型排序、模糊查找,能够查看指定名字的符号。

函数视图

接下来,进入了长期工作的具体地点。我们的编码工作,一半以上是和函数在亲密接触。对函数的阅读方法,很大程度上影响着工作效率。

通过以下方法,可以有效阅读函数。

1. 函数定义查看。阅读函数时,遇到调用的函数,迅速查看其定义,及其上下文。

2. 函数调用关系。阅读到一个函数,迅速找出有那些调用者,或调用了哪些函数;且可以向上、或向下调用层次查看。

3. 函数查找。本文件、指定目录、整个项目的函数查找。调用位置统计视图和详细上下文的方便切换。下一个函数位置的快捷操作。

代码分类视图

终于,我们走入了实际的琐碎代码片段:关键字、全局变量、成员变量、参数变量、局部变量、宏、常量、注释等等。我们透过上下文主窗口,窥视着代码海洋的一丁点区域。

通过以下方法,可以有效观察上下文主窗口内容。

1. 类型区分。通过颜色、字体、字号等,直观区分不同类型的代码。

2. 标签。多个关联的感兴趣区域,通过标签记住,然后切换到窗口。

3. 多窗口。多个关联的感兴趣区域,通过多个窗口保留上下文,能够帮助阅读。

4. 大屏幕显示器。Mr. Bean说过:“大,就是好”。

琐碎罗列了上述阅读代码的方法。目前,只使用notepad,vi来阅读实用项目文件,已经不多了(临时快捷查看单个文件除外)。大多时候,实用专业的代码编辑工具,如SourceInsight,Eclipse,VS2010等等。这些工具支持了上述所有阅读方法,还包含更多的阅读方法:行数显示,项目统计等等。善用这些方法,必须的。

工具和阅读方法,只能在你痴心研究代码时,感觉到她的实用;而不是能帮助你理解代码。再多再好的工具和方法,也不能掩盖代码的臭味;通过多角度、深层次、立体化接触臭味,可能麻木到习惯,可能恶心致死亡,可能坚持去重构。

生活没有捷径。

参考资料

1. 《代码整洁之道》。

转自:/article/8228461.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: