看懂软件项目需要遵循一定的步骤和方法,以下是一些建议:
建立运行环境
在不查看代码的情况下,首先建立一个能让程序运行的环境。
运行程序以验证其功能和正确性,这有助于建立初步印象和成熟感。
掌握程序结构
对于开源项目,可以通过作者的微博、Google、百度等途径找到程序的体系结构和相关文档。
对于公司内部项目,通常会有完整的文档,应优先阅读这些文档而不是直接开始阅读代码。
采用至顶向下的方法
原则上采用至顶向下(Top-Down)的方式,一层一层往下剖析。
在看上层时,先不用太了解下层的细节,通过目录和文件名猜测作者的设计思想。
了解项目需求
通过简单的问题了解项目的用途和解决的问题,这有助于把握项目的整体方向。
浏览文件和目录
展开项目目录,根据经验和目录命名猜测作者的设计思想。
浏览文件时,主要看文件名,对于感兴趣的文件可以打开详细查看,但大部分暂不用看那么细。
寻找入口点
通过界面上的某个操作,查看代码调用了哪些文件,先只看当前文件,暂不深入嵌套调用的内容。
理清业务逻辑
照着写一遍,把东西一个一个的移植到新工程中,这有助于理解代码的具体实现。
使用文档和实际操作
阅读设计和架构文档,尽可能把high level的文档全部看一遍。
使用产品使用文档并实际操作,观察系统测试和结合测试文档和代码。
观察数据流动
找到系统中模块之间的接口,特别是输入、输出和内部模块之间通信时使用的数据结构的定义。
观察输入数据的样子,以及中间经过每一个模块之后大致变成了什么样子。
调试和设置断点
通过调试和设置断点,不断验证和修正你先前整理的类层次关系,这有助于加深理解。
利用架构图
项目文档中通常会包含架构图,这些图表可以帮助你理解项目的模块划分和模块间的关系。
关注核心模块
找出项目中的核心模块,例如数据模型、业务逻辑处理、数据访问等,并重点关注这些模块的代码。
通过以上步骤,你可以逐步看懂软件项目,并从宏观和微观两个层面深入理解其设计和实现。