【代码阅读的方法与实践】第6章 应对大型项目

来源:互联网 发布:淘宝图片大小多少合适 编辑:程序博客网 时间:2024/05/16 13:59

6章 应对大型项目

我们可以通过浏览项目的源代码树--包含项目源代码的层次目录结构,来分析一个项目的组织方式。源码树常常能够反映出项目在构架和软件过程上的结构。

应用程序的源代码树经常是该应用程序的部署结构的镜像。

不要被庞大的源代码集合吓倒,它们一般比小型的专门项目组织得更出色。

当您首次接触一个大型项目时,要花一些时间来了解项目的目录树结构。

项目的源代码远不只是编译后可以获得可执行程序的计算机语言指令;一个项目的源码树一般还包括规格说明、最终用户和开发人员文档、测试脚本、多媒体资源、编译工具、例子、本地化文件、修订历史、安装过程和许可信息

大型项目的编译过程一般声明性地借助依赖关系来说明。依赖关系由工具程序,如make及其派生程序,转换成具体的编译行动。

大型项目中,制作文件常常由配置步骤动态地生成;在分析制作文件之前,需要先执行项目特定的配置。

检查大型编译过程各个步骤时,可以使用make程序的-n形状进行预演。

修订控制系统提供从储存库中获取源代码最新版本的方式。

可以使用相关的命令,显示可执行文件中的修订标识关键字,从而将可执行文件与它的源代码匹配起来。

修订日志中出现的bug跟踪系统内的编号,可以在bug跟踪系统的数据库中找到有关问题的说明。

可以使用修订控制系统的版本储存库,找出特定的变更是如何实现的。

定制编译工具用在软件开始过程的许多方面,包括配置、编译过程管理、代码的生成、测试和文档编制。

程序的调度输出可以帮助我们理解程序控制流程和数据元素的关键部分。

跟踪语句所在的地点一般也是算法运行的重要部分。

可以用断言来检验算法动作的步骤、函数接收的参数、程序的控制流程、底层硬件的忏悔和测试的结果。

可以使用对算法进行检验的断言来证实您对算法动作的理解,或将它作为推理的起来。

对函数参数和结果的断言经常记录了函数的前置条件和后置条件。

我们可以将测试整个函数的断言作为为每个给定函数的规格说明。

测试可以部分地代替函数规格说明。

可以使用测试的输入数据对源代码序列进行预演。