作为源代码阅读活动的一部分,我们首先应该能够识别并推理测试代码和测试用例,然后使用这些测试产物帮助理解其余的代码。
大多数规范都会说明文件应该如何命名,应该使用什么样的扩展名。现代块结构语言编写的程序,都使用缩进来强调每个块的嵌套层次,风格指南经常规定用来缩进代码块的空格的数量和类型。所有的代码规范都会规定声明以及每个具体语句的编排方式。命名的约定:首字母大写、用下划线分隔单词、只取首字母。应用传统工程方法的项目,在开发过程中会产生大量不同的文档:系统规格说明文档。
文档的类型、软件规格说明、系统的测试规格说明用户文档。利用文档可以快捷的获取系统的概况了解提供特定特性的代码。文档给出系统的规格说明,我们可以依据他对代码进行审查。文档经常能够反应和揭示出系统的底层结构。算法的文字描述能够使不透明的代码变得可以理解。文档常常能够阐明源代码中标识符的含义;能够提供非功能性需求的背后理论基础;找到设计者当时的观点,系统要求的目标、目的和意图、构架,以及实现,还有当时否认的其他方案以及否决他们的原因。同一份RFC文档中还有一份用ASCII字符集精心绘制的图,详细说明TCP协议如何建模为有限状态机。在阅读文档时注意文档常常会提供不恰当的信息。
在寻找源代码文档时,要考虑到非传统的涞源,比如注释、规范、出版物、测试用例、邮件列表、新闻组、修订日志、问题跟踪数据库、营销材料和源代码本身。在研究大量代码时,人们一般会寻找更为正式的涞源,然而,原代码注释、用ASCII码画成的图经常比相应的正式文档维护的更好,并且隐藏着重要的信息。最常遇到的文档格式有:torff、texinfo、docbook、doxygen、UNIx手册、javadoc手册、texinfo文档、docbook文件。