--- tags: [wechat, article, claude, openai] type: raw source: wechat url: https://mp.weixin.qq.com/s/h0y_B8J1jzQA32tJG4Ds4A title: 停止编码的那天,就是失去架构判断力的开始:一位 30 年架构师的 AI 生存指南 author: Dennis Doomen (播客受访者) / InfoQ 整理 published: InfoQ created: 2026-05-08 sha256: beb609cc06ac0257fdbb2df1a0c5a6ec82151c6fecf8d26e0ed5bfd3e985f359 review_value: 7 review_confidence: 8 review_stars: 4 review_recommendation: neutral ingested: 2026-05-16 updated: 2026-05-10 --- 编译|宇琪 策划 | Tina 在 AI Coding 飞速发展的当下,工程师的价值正从"如何实现"转向"解决什么问题",那么,手敲代码还有意义吗?作为一名坚持编码近 30 年的架构师,微软最有价值专家 (MVP)、开源项目创作者、现任 Aviva Solutions 的代码架构师 Dennis Doomen 的观点直截了当:如果你不深入代码,就无法做出优秀的架构决策。 最近,Dennis 在播客节目中,与主持人 Patrick Akil 对话,他以大量一线经验为基础,探讨了一个更现实的问题:在 AI 可以生成代码的时代,我们究竟该如何保持对代码质量的掌控? 核心观点如下: 作为架构负责人,同时仍保持动手实践,这是团队中唯一有效的软件开发方式。 软件工程的核心,无论过去还是未来,都是在已有系统与不断增长的复杂性之间维持平衡。如果对过去的决策缺乏理解,却仍机械遵循,就会不断累积复杂性,而时间会放大这一问题,甚至决定系统成败。 即便未来我们可能不再需要编写代码,现阶段仍然需要对 AI 生成的结果进行接管和维护。 无论是提交记录还是代码评审说明,都应尽量记录决策意图,而不仅是技术细节。 Dennis:我也不认为有必要全职从事演讲,我仍然希望亲自参与实践。我更愿意称自己为"动手型架构师"或"编码型架构师",几乎所有分享内容都源于我的一线经验。如果停止编写代码,不再亲自构建并上线生产系统,就会逐渐失去这些经验。 我现在 52 岁,从事这一领域已近 30 年,几乎无法想象自己停止编码。幸运的是,我的工作通常兼具架构设计与团队协作,我既是架构师,也是团队成员,会与开发者一起编写生产代码。 Patrick:作为架构负责人,同时仍保持动手实践,这是否是团队中最有效的软件开发方式? Dennis: 我认为这是唯一有效的方式。我接触过许多企业架构师,他们通常关注高层设计,例如策略或信息架构,但往往缺乏一线经验,难以判断某种方案是否可行,或某种技术路径对长期可维护性与可持续性的影响。 关于避免重复(DRY)原则,我持相对务实的态度:在某些情况下,我会有意识地复制代码,以降低耦合,但这必须是经过权衡的决策,而非盲目复制或完全避免复制。我观察到,许多有 10 至 15 年经验的开发者,在掌握设计模式后,往往会过度依赖这些模式。 Dennis: 去年,我开发了一个 .NET 的开源 HTTP Mock 库,起因是现有工具无法满足需求,于是我开始自行构建,并整理需求与 API 设计。出于好奇,我将 GitHub issue 分配给 Copilot。令人惊讶的是,它生成了一个高质量的开源项目,基本实现了所有需求,并遵循了我的编码规范。 Patrick: 只要功能正确、测试通过,就可以接受,而不必立即优化。 Dennis: 确实如此。代码本身并不差,也遵循一定规范。我仍在不断尝试新的工具与方法,同时会重点审查测试,确保其能够准确反映预期行为。测试不仅用于验证功能,也帮助我理解系统行为与 API 设计。 Patrick: 我越来越觉得测试质量就是系统的"安全网"。如果我们将实现过程视为黑箱,那么只要测试足够可靠,就可以信任系统的行为,无论代码是由人还是 AI 生成。因此,如何设计测试、测试什么内容,正变得愈发重要。 Dennis: 即便未来我们可能不再需要编写代码,现阶段仍然需要对 AI 生成的结果进行接管和维护。 Patrick:如果让你从零培养一名软件工程师,基于你现在的经验,你会重点关注哪些方面? Dennis: 让他们从真实代码库中入手,例如修复缺陷、完成小规模改进,在逐步接触较大范围代码的过程中理解系统。同时,鼓励他们不断提问。在代码评审中,我有一个长期使用的做法:通过表情符号来传达反馈的语气和意图。 Patrick: AI 可以帮助我们快速获取上下文信息,尤其是在复杂系统中,但最终决策仍然需要人来承担。 Dennis: AI 在理解复杂代码库方面非常有帮助。但在架构层面,例如抽象设计或依赖反转原则的应用,仍然需要整体视角的判断,这类问题目前 AI 还难以完全胜任。只要系统仍需维护,我们就必须持续关注耦合、内聚等核心设计问题。 Dennis: 代码本身往往无法体现决策背后的动机,而这些信息极易丢失。因此,无论是提交记录还是代码评审说明,都应尽量记录决策意图,而不仅是技术细节。 参考链接: https://www.youtube.com/watch?v=Z4MUDojhihQ