通过源代码分析引擎,极客讨论器可以将整个项目的源代码一键生成一个可交互界面:函数地图。它是一个由节点和连线组成有向图,节点是项目里的所有函数,连线是函数间的调用关系。
函数地图是一个界面而不是一张图片,节点和连线都是可以点击的。双击节点可以定位源代码位置到节点对应的函数,双击连线可以定位源代码到连线对应的函数调用上。 如右图所示,双击节点CHTMLReader::_ParseDocument,打开了此函数的定义代码。
CHTMLReader::_ParseDocument
反过来也可以通过代码在地图中定位。 如右图所示,选中CHTMLAttributes::ParseFromStr函数的代码,地图自动转到对应的函数节点处,它和它的调用函数,被调用函数,以及它们间的连线自动变色以凸显。
CHTMLAttributes::ParseFromStr
节点上还有状态图标,它表示此节点对应函数的修改状态,和文件列表里的文件状态一样,函数的修改状态也有增/删/改状态。 如右图所示,函数CHTMLAttributes::ParseFromStr增加了注释,它的函数节点显示此函数状态为“有修改”。