AI 可以以惊人的速度生成代码。但有一个问题:代码越多,并不一定意味着理解越深。
当一个大型 AI 生成的代码库开始增长时——类、依赖、模块、关系、继承——逐个文件阅读很快就会让人不堪重负。这正是可视化大显身手的地方。
为你的代码库打造一座有生命的 3D 城市
借助 CppDepend Smart Code City,大型 C++ 代码库可以被转换成一座 3D 城市,其中每个视觉元素都富有含义:

- 建筑:代表单个 C++ 代码元素(方法或类)。
- 建筑尺寸:高度和占地面积反映关键代码指标(代码行数、圈复杂度)。
- 颜色热力图:颜色深浅直接对应可维护性、技术债或规则违规严重程度。
- 穹顶:突出高耦合和复杂的结构依赖。
- 区域边界:黄色/橙色轮廓映射模块、命名空间或目录的评级。
- 火焰标记:定位最高优先级项和需要立即重构的严重技术债。
- 星形标记:识别系统中被大量使用或高度核心的代码元素。
你不再需要问“我该从哪里开始读这些代码?”,而是可以问:“这个代码库到底长什么样?”
这一点在AI 生成的代码面前尤为有趣。AI 让生成大量代码变得前所未有的容易。但随着代码量的增加,架构、可维护性、耦合和复杂性变得更难理清。可视化地图为开发者提供了另一层理解——它是对传统代码评审和静态分析的补充。
用 AI 生成。用指标分析。用可视化理解。把海量生成的代码库从一堵文本墙,变成你可以探索、导航和推理的东西。
查询你的代码库,在 3D 中呈现(CQLinq 集成)
Smart Code City 将 CppDepend 的 CQLinq(Code Query LINQ)引擎直接连接到 3D 可视化景观:

- 实时 3D 城市高亮:执行 CQLinq 查询后,匹配的代码元素会在城市景观中以亮蓝色立即点亮(例如63 个城市元素被高亮)。
- 实时空间过滤:查询高复杂度、缺失测试、循环依赖或最近的 AI 修改,匹配的建筑物会在各自区域中实时亮起。
- 集成查询编辑器与结果树:在右侧面板编写查询,探索按命名空间、类或方法分组的结构化结果——并与 3D 选择同步。
CQLinq 直接集成在 Smart Code City 中,你可以编写类似 C# 的查询来检查 C++ 代码库,并在 3D 城市景观中立即看到高亮的结果。
看到变化——而不仅仅是现状
这种可视化最有用的部分之一,是能够直接在城市中看到代码的演变。无需手动比对成千上万行 C++,代码差异(Code Diff)视图立即为你呈现变化的直观画面:

🟨 金 = 新代码 🟪 紫 = 修改过的代码
这让回答以下问题变得容易得多:
- 最新一次 AI 生成添加了什么?
- 哪些现有组件被修改了?
- 变化集中在哪里?
- AI 只是动了一小块区域,还是重塑了架构的大部分?
- 代码库的哪些部分值得更仔细的评审?
结果是:从“发生了什么变化?”到“我该去哪里调查?”的路径大大缩短。AI 可以生成变更,CppDepend 帮你看清其影响。
超越代码差异:在 3D 中可视化指标变化
代码变化不仅仅是哪些行被添加或修改。更重要的问题是:这次变化对代码库的质量和复杂性产生了什么影响?
借助先进的指标差异(metric diff)可视化,你可以比较变更前后的代码库,并直接在 3D Smart Code City 中看到影响:

你不再需要盯着一堆数字的表格,而是可以直观地探索指标在整个架构中的演变:
- 3D 建筑让指标变化清晰可见。
- 颜色突出需要关注的区域。
- 标记揭示潜在热点。
- 建筑尺寸暴露复杂性和结构的变化。
- 整个架构为变化提供上下文。
这对 AI 生成的 C++ 代码尤其有意义。AI 模型可能引入一个在 diff 中看起来很小的改动——但这个改动可能增加复杂性、降低可维护性,或影响一个高度关联的组件。借助 3D 指标差异,你可以迅速发现这些架构层面的影响。
从行级差异 → 到指标级差异 → 到架构影响。这就是可视化代码演变的真正优势。不要只看到什么变了——要看到这次变化对代码库造成了什么。
检查每个元素:工具提示、建议与 3D 调用图
Smart Code City 将宏观架构视图与对代码库中任何元素的即时深入指标检查结合在一起。

悬停工具提示与侧边指标面板
- 位置上下文:完整的命名空间层级、类名、源文件(如 xmlparse.cpp)和精确行号。
- 关键指标一览:代码行数、可维护性指数、圈复杂度、传出/传入耦合、技术债时间估算、债务评级、问题总数和注释数。
- 快捷交互方式:Ctrl+点击(操作)、Shift+点击(依赖)、Alt+点击(3D 调用图)、双击(建议)、右键(高级操作)。
- 侧边指标面板:点击建筑后,右侧面板会固定显示按代码实现、代码设计、债务与问题分类的详细分解。

双击:可执行的建议
双击任意建筑会立即触发建议面板,把复杂的静态分析数字转化为清晰、按优先级排序的建议:
- 高圈复杂度:突出分支过多的逻辑,建议简化条件结构。
- 高传出耦合:识别过多的传出依赖,建议引入接口或依赖注入(DI)。
- 问题警报:定位高严重度问题(如41 个高严重度问题),并标记需要立即规划的重大技术债。
- 测试覆盖警告:标记未被监控的代码(如低覆盖率 0%),提示添加单元测试。

Alt+点击:交互式 3D 调用图
- 即时调用图追踪:按住 Alt 点击任意建筑,即可渲染出 3D 方向弧线,将所选元素与城市中所有调用者和被调用者直接连接起来。
- 空间关系映射:绿色方向箭头实时追踪方法之间的执行路径,展示单个函数如何与邻近区域或远端模块交互。
- 上下文方法标签:目标被调用方法会直接标注,无需离开 3D 视图即可直观遍历调用链。
像专家一样探索:City Zones、The Code News 与命令行

City Zones 与范围隔离
强大的 City Zones 过滤系统让团队滤掉噪音,专注于代码库的特定子范围:
- Critical:仅显示触发严重架构或安全规则违规的元素。
- With New Issues:隔离最近提交中引入的回归和新违规。
- With High Issues / With Issues:聚焦于存在活跃技术债的方法。
- New Code:渲染新增组件,在评审中验证现代代码质量。
- Under Construction:突出正在重构或扩展的活跃修改区域。
- 自定义大小阈值(如 LOC > 10):聚焦非平凡方法,隐藏小型辅助函数。
- 自定义区域创建(+ NEW ZONE…):定义适合团队工作流或冲刺目标的空间视图。

The Code News:编辑风格的品质报告
Smart Code City 把枯燥的静态分析数据变成引人入胜的报纸风格执行摘要:
- 头版头条:即时播报构建的当前健康状态——例如当质量阈值被突破时出现“SYSTEM INTEGRITY CRISIS: CRITICAL GATES BREACHED”。
- The Register(事件日志):构建健康速报,汇总质量门报告(如FAILED 5/8)、严重问题、高严重度违规和技术债总天数。
- 品质数据一览:带展望的债务评级(如Class C / Stable Outlook)、净代码行数、系统总量(项目、类型、方法)和单元测试覆盖率。

城市命令行(λ)
终端风格的命令界面(λ Execute command…)支持键盘驱动导航和实时可视化操控:
goto [name]:立即将相机居中并缩放到指定的建筑、方法或类。summary:生成当前选择或视图的高层架构概览。zone [critical | new | changed | issues | high issues]:无需打开菜单即可动态应用空间过滤。marker [name] [on|off]:控制视觉叠加层(clouds、issues、priority、modified、all、none)。clear / exit:重置高亮或关闭终端浮层。
结论:一图胜千行代码
随着 C++ 架构不断扩展——以及 AI 增强的工作流以前所未有的速度生成代码——传统的文本报告和无尽的编译日志已不足以掌控软件质量。Smart Code City 将复杂的静态代码分析转化为直观的 3D 空间景观,让架构健康、技术债和结构风险一目了然。
对城市景观的一次目视检查,即可取代数小时的手工代码审计:
- 即时风险检测:超大的建筑、集群密度和警告标记一眼揭示技术债、过度复杂性和架构漂移。
- 交互式架构控制:从自定义 CQLinq 查询、3D 调用图到键盘驱动的终端命令,开发者可以轻松检查执行路径并隔离高风险区域。
- 可执行的指导:内嵌工具提示、双击重构建议和执行摘要,把原始数据转化为清晰、按优先级排序的工程任务。
通过将空间感知引入 C++ 静态分析,CppDepend 证明了一张 3D 可视化图确实胜过千行代码——确保快速的功能开发永远不会以长期可维护性、安全性或系统完整性为代价。
