Dependencies Map (依赖图)

第1步:圈出所有变量。 首先找到所有变量,并用笔或鼠标圈出来,如图4-5所示。
图4-5 圈出代码中的所有变量以帮助理解

第2步:将相似的变量连起来。 找到所有变量后,把不同位置出现的同一变量用线连起来(参见图4-6),借此了解代码中使用了哪些 变量。根据代码的实际情况,也可以考虑把相似的变量连在一起(例如把作用都是访问列表元素的 customers[0]和customers[i]连起来)。

Pasted image 20250413013106.png
图4-6 圈出代码中的所有变量,并把相同的变量连在一起以帮助理解 把所有变量连起来以后,就可以有条不紊地阅读代码,不必再反复浏览代码以查找变量出现的位置。这 样一来便可减轻认知负荷,从而释放工作记忆,使大脑能够专心思考代码功能。

第3步:圈出所有方法/函数调用。 找到所有变量后,请继续查找代码中的方法/函数。用第二种颜色圈出它们。

第4步:将方法/函数及其声明连起来。 把每个函数/方法声明与其调用位置用线连起来。尤其要注意只有一次调用的方法,因为从本章之前的 讨论可知,这些方法有可能通过重构实现内联。

第5步:圈出所有类的实例。 找到所有变量和方法/函数后,请继续查找类。用第三种颜色圈出所有类的实例。

第6步:将类及其实例连起来。 最后一步是确定类与实例的关系:如果代码中存在类的声明,就把该类的实例与声明连起来;如果不存 在类的声明,则把该类的实例相互连起来。

按照以上6个步骤就能绘制出使用不同颜色标记的依赖图。这种依赖图便于程序员判断代码流,可以作 为代码阅读的辅助工具。依赖图给出的代码结构信息能够减少程序员的工作量,因为他们不必在思考代码功 能的同时再花时间查找方法/函数声明,从而可以避免工作记忆出现过载情况。不妨从程序的入口点(例如 main()方法)开始阅读代码。每次遇到方法调用或类实例化时,可以沿着连线直接跳到合适的位置继续阅 读,无须浪费时间查找或阅读多余的代码。

Pasted image 20250413012944.png