当前位置: 首页 > article >正文

AI 如何改变软件工程:Martin Fowler 视角 + 实战洞见

AI 如何改变软件工程Martin Fowler 视角 实战洞见AI尤其是 LLM是软件工程自高级语言从汇编到 C/Fortran以来最大的转变。它引入了非确定性Non-deterministic编程改变了从编码、理解遗留代码、重构到整体开发流程的方式。Martin Fowler《Refactoring》作者、Thoughtworks 首席科学家在 2025 年多次深度讨论这些话题强调AI 不会消灭软件工程而是放大既有实践并要求工程师更注重架构、测试和重构。1. 核心转变从确定性 → 非确定性编程传统软件工程代码是确定性的输入相同 → 输出相同。可预测、可精确控制。AI 辅助工程LLM 输出有概率性hallucination、上下文漂移。即使相同 prompt也可能不同结果。影响工程师角色从“写代码”转向监督、验证、编排Orchestration。Fowler 比喻把 LLM 当作“一个非常高产但不可靠的合作者”每次输出都像审查一个可疑的 PR。氛围编程 / Vibe Coding氛围/感觉编程完全不看代码只通过 prompt 描述“感觉”vibe让 AI 生成原型或探索性应用。适用场景快速原型、一次性工具、内部小工具低风险。局限生产系统危险。Fowler 认为它适合探索但核心业务必须结合确定性技术。2. AI 在遗留代码Legacy Code中的革命性作用AI 极大降低了理解和改造老旧系统的门槛快速总结AI 可阅读数十万行代码解释业务逻辑、找出死代码、依赖关系。生成文档与测试自动生成测试用例、架构图帮助团队接手遗留系统。辅助重构建议 Extract Method、引入设计模式但不能完全自动化可能引入隐蔽 bug。最佳实践Fowler 社区共识先写/生成测试锁定行为。小步重构 人工 Review。用 AI 理解上下文再用 IDE 确定性重构工具执行。3. 重构的重要性比以往更强Fowler 反复强调AI 生成大量“能用但质量可疑”的代码重构成为必备技能。AI 加速产生代码 → 技术债积累更快。重构仍是保持可维护性、可理解性的核心。结合 AI IDERename、Extract Method 等效率更高。未来AI 可建议大规模重构但人类负责验证架构一致性。与设计模式结合AI 擅长识别代码坏味道并建议应用 Factory、Strategy、Decorator 等模式但需要工程师确保符合领域模型。4. 对敏捷开发的影响AI 强化了敏捷的核心迭代、反馈、响应变化更快迭代原型更快Sprint 内可交付更多价值。持续重构每个迭代预留时间清理 AI 生成的代码。TDD 进化TDD 成为“最强 prompt 工程”——先写测试再让 AI 实现。演进式架构Evolutionary Architecture用 Fitness Functions AI 持续验证架构规则。团队实践Pair Programming 可能演变为 Human-AI 协作Retrospective 需讨论 AI 使用规范。零利率时代ZIRP结束的影响2022 年后高利率环境下VC 资金收紧AI 成为少数热点吸引大量投资。软件团队压力增大更注重效率、盈利能力和可持续维护而非盲目扩张。这让重构、干净架构、AI 辅助提效变得更加关键——低质量代码的维护成本在紧缩环境下无法承受。5. 软件架构与 AI 的新挑战与机遇模块化更重要良好模块化减少 LLM 上下文负担提高 AI 修改准确率。Clean/Hexagonal/DDD 架构AI 更容易在边界清晰的系统中工作。新兴模式Agentic 开发多代理协作、监督式工程Human in the loop。Fowler 建议保持架构决策记录ADR用 AI 辅助审查但人类保留最终判断。6. 总体收益、风险与未来收益生产力提升尤其是 boilerplate、遗留理解、测试。降低入门门槛资深工程师专注高价值工作架构、业务对齐。更快响应需求符合敏捷精神。风险代码质量下降、维护性变差如果过度依赖 vibe coding。训练数据污染大量低质 AI 代码进入未来模型。过度乐观导致跳过 Review 和测试。Fowler 的平衡观点AI 是强大工具但软件工程的核心原则可理解性、可持续性、测试依然不变甚至更重要。结合确定性工具IDE 重构、类型系统、自动化测试才是制胜之道。给你落地建议结合你之前问的重构、敏捷、架构日常流程Prompt → AI 生成 → 测试锁定 → IDE 重构 → Review。遗留系统先用 AI 生成架构地图和测试再分模块重构。团队制定 AI 使用规范什么场景用 vibe coding什么必须人工。学习阅读 Fowler 最新文章如 martinfowler.com 的 Generative AI 系列和 Pragmatic Engineer 访谈。如果你想深入某个部分如具体重构案例、Clean Architecture AI 模板、DDD 在 AI 时代的应用、或某个遗留代码片段的 AI 分析直接贴代码或指定方向我可以给你针对性方案。AI 正在重塑软件工程但人 原则依然是核心。保持重构习惯、拥抱敏捷你就能在变革中领先。

相关文章:

AI 如何改变软件工程:Martin Fowler 视角 + 实战洞见

AI 如何改变软件工程:Martin Fowler 视角 实战洞见 AI(尤其是 LLM)是软件工程自高级语言(从汇编到 C/Fortran)以来最大的转变。它引入了非确定性(Non-deterministic)编程,改变了从编…...

自动加字幕软件推荐:口播视频如何批量加字幕过

口播视频加字幕,为什么越做越累?一位知识类博主连续两周日更3条口播视频,每条12–18分钟,需手动校对字幕、拆分金句切片、补气口停顿、匹配背景音乐——最后一条视频发布时,字幕错漏率达17%,平台审核未过。…...

AI Agent 为什么必须有“记忆系统”?

导语:大模型不是没有智商,而是经常没有“记性”。真正能长期干活的 Agent,不是靠无限拉长上下文,而是靠一套会压缩、会检索、会遗忘、会治理的外置记忆系统。一、先给结论:Agent 的记忆系统,本质是“上下文…...

CANN runtime:昇腾NPU 运行时的职责边界

个人主页:ujainu 文章目录前言为什么需要运行时这一层runtime管什么,不管什么Stream:并行的基本调度单位Event:跨Stream的同步锚点内存池化:少一次malloc就少一次卡顿任务队列:从计算图到硬件指令的最后一跳…...

为内部知识库问答机器人集成taotoken多模型能力的架构设计

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 为内部知识库问答机器人集成taotoken多模型能力的架构设计 应用场景类,探讨为企业内部知识库构建智能问答机器人时&…...

Windows Cleaner如何5步解决C盘爆红问题?完全指南助你释放宝贵空间

Windows Cleaner如何5步解决C盘爆红问题?完全指南助你释放宝贵空间 【免费下载链接】WindowsCleaner Windows Cleaner——专治C盘爆红及各种不服! 项目地址: https://gitcode.com/gh_mirrors/wi/WindowsCleaner 你是否曾经面对C盘爆红的警告束手无…...

星露谷物语SMAPI模组加载器:从新手到专家的完整使用指南

星露谷物语SMAPI模组加载器:从新手到专家的完整使用指南 【免费下载链接】SMAPI The modding API for Stardew Valley. 项目地址: https://gitcode.com/gh_mirrors/smap/SMAPI 星露谷物语SMAPI模组加载器是官方推荐的模组API,它为玩家和开发者提供…...

基于ESP8266的可穿戴Wi-Fi设备:从硬件设计到ESPHome智能控制

1. 项目概述:一个可穿戴的Wi-Fi智能小玩意最近在捣鼓智能家居和可穿戴电子,总想把手边的小物件变得更“聪明”一点。于是,我设计并制作了一个基于ESP8266的可穿戴Wi-Fi设备。它的核心思路很简单:把一块功能强大的Wi-Fi微控制器&am…...

DeTikZify:基于AI的TikZ图形程序自动生成技术深度解析

DeTikZify:基于AI的TikZ图形程序自动生成技术深度解析 【免费下载链接】DeTikZify Synthesizing Graphics Programs for Scientific Figures and Sketches with TikZ. 项目地址: https://gitcode.com/gh_mirrors/de/DeTikZify DeTikZify是一款革命性的多模态…...

基于ESP8266与RGBDigit的Wi-Fi网络时钟:硬件设计、物联网集成与DIY实践

1. 项目概述:一个能感知环境的网络时钟如果你和我一样,对复古又带点科技感的显示设备没有抵抗力,同时又是个喜欢动手折腾的极客,那么这个项目绝对能让你在工作室或家里多一个既实用又炫酷的玩意儿。我说的就是这款基于RGBDigit数码…...

如何快速掌握ncmdumpGUI:Windows平台网易云音乐NCM文件转换完整教程

如何快速掌握ncmdumpGUI:Windows平台网易云音乐NCM文件转换完整教程 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否曾经下载了网易云音乐的…...

Hitboxer:终极SOCD按键重映射解决方案,彻底解决游戏按键冲突问题

Hitboxer:终极SOCD按键重映射解决方案,彻底解决游戏按键冲突问题 【免费下载链接】socd Key remapper for epic gamers 项目地址: https://gitcode.com/gh_mirrors/so/socd 在激烈的游戏对战中,你是否曾因同时按下左右方向键而导致角色…...

告别RaiDrive广告!用开源rclone+Alist,免费把阿里云盘/百度网盘变成电脑本地硬盘

开源方案实战:用rcloneAlist打造无广告的云盘本地化体验 每次打开RaiDrive时弹出的广告窗口是否让您感到困扰?商业软件的收费模式是否让您犹豫不决?今天,我们将彻底解决这些问题。通过开源工具Alist和rclone的组合,您不…...

DSP、FPGA、STM32大对决:谁才是嵌入式开发的“天选之子”?

在嵌入式开发的广阔天地里,DSP、FPGA 和 STM32(作为通用 MCU 的典型代表)可以说是三款绕不开的核心处理器。很多初学者甚至有一定经验的工程师在选择时都会陷入纠结:我的项目到底该选哪一个?为了帮你彻底理清思路&…...

别再只会用--nogpgcheck了!手把手教你安全修复PostgreSQL yum源的GPG密钥问题

企业级PostgreSQL部署:安全解决GPG密钥验证的完整方案 当你在生产环境中部署PostgreSQL时,遇到GPG签名验证错误直接使用--nogpgcheck绕过检查,就像因为门锁打不开就直接把门拆掉一样危险。本文将带你深入理解GPG验证机制,并提供一…...

当B站字幕不再只是弹幕:你的个人学习宝库解锁指南

当B站字幕不再只是弹幕:你的个人学习宝库解锁指南 【免费下载链接】BiliBiliCCSubtitle 一个用于下载B站(哔哩哔哩)CC字幕及转换的工具; 项目地址: https://gitcode.com/gh_mirrors/bi/BiliBiliCCSubtitle 还记得那个深夜吗?你正在B站追着某个技术…...

别只盯着主控芯片!拆解STM32最小系统板:电源、时钟、复位三大支柱电路深度解析

STM32最小系统板设计进阶:电源、时钟与复位电路的工程实践 在嵌入式系统开发中,我们常常将注意力集中在主控芯片的功能实现上,却忽略了支撑系统稳定运行的三大基础电路——电源、时钟和复位。这些看似简单的电路模块,实则是整个系…...

深入解析NxDumpTool:Switch游戏文件系统提取的终极指南 [特殊字符]

深入解析NxDumpTool:Switch游戏文件系统提取的终极指南 🎮 【免费下载链接】nxdumptool Generates XCI/NSP/HFS0/ExeFS/RomFS/Certificate/Ticket dumps from Nintendo Switch gamecards and installed SD/eMMC titles. 项目地址: https://gitcode.com…...

告别Appium!用Python+UIAutomator2搞定Android自动化测试(附完整环境搭建与实战代码)

PythonUIAutomator2:Android自动化测试的高效实践指南 在移动应用测试领域,效率与稳定性始终是工程师们追求的核心目标。传统方案如Appium虽然功能全面,但在执行速度和资源消耗方面往往难以满足高频测试需求。本文将带您探索基于Python和UIA…...

终极Windows风扇控制指南:FanControl让你的电脑安静又高效

终极Windows风扇控制指南:FanControl让你的电脑安静又高效 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trendin…...

告别Selenium?手把手教你用Playwright录制脚本,5分钟搞定Web自动化测试

5分钟极速上手Playwright脚本录制:零代码实现Web自动化测试当产品经理突然丢给你一个刚上线的电商活动页,要求半小时内完成所有核心链路测试时,传统的手写Selenium脚本显然来不及。作为测试工程师,我最近发现微软开源的Playwright…...

终极虚拟显示器解决方案:ParsecVDisplay完整使用指南

终极虚拟显示器解决方案:ParsecVDisplay完整使用指南 【免费下载链接】parsec-vdd ✨ Perfect virtual display for game streaming 项目地址: https://gitcode.com/gh_mirrors/pa/parsec-vdd ParsecVDisplay是一个基于Parsec虚拟显示驱动(VDD)的独立应用程序…...

如何用Nucleus Co-Op让单机游戏变身本地多人分屏神器

如何用Nucleus Co-Op让单机游戏变身本地多人分屏神器 【免费下载链接】nucleuscoop Starts multiple instances of a game for split-screen multiplayer gaming! 项目地址: https://gitcode.com/gh_mirrors/nu/nucleuscoop 还在为想和朋友一起玩游戏却只有一台电脑而烦…...

基于窗口比较器与晶体管逻辑的可编程非线性电压指示器设计

1. 项目概述:打造一个可编程的“移动光点”电压指示器在电子制作和仪器仪表领域,我们经常需要一个直观的电压指示器。经典的LM3914点/条图显示驱动芯片大家都很熟悉,它能把一个模拟电压信号转换成10个LED的点亮状态,形成移动的光点…...

AI专著生成必备工具,轻松撰写20万字专著,质量与效率双保障!

学术专著的写作是一个严谨的过程,其背后需要大量的资料和数据作为基础。搜集和整理这些资料与数据往往是写作过程中最繁琐且耗时的部分。研究人员需要广泛收集国内外的前沿文献,确保所用文献不仅具备权威性,还要与研究主题密切相关。同时&…...

茉莉花插件:如何让中文文献管理效率提升300%

茉莉花插件:如何让中文文献管理效率提升300% 【免费下载链接】jasminum A Zotero add-on to retrive CNKI meta data. 一个简单的Zotero 插件,用于识别中文元数据 项目地址: https://gitcode.com/gh_mirrors/ja/jasminum 还在为中文文献的元数据抓…...

5步完美解决Windows 10 PL2303驱动兼容性问题:完整实施方案指南

5步完美解决Windows 10 PL2303驱动兼容性问题:完整实施方案指南 【免费下载链接】pl2303-win10 Windows 10 driver for end-of-life PL-2303 chipsets. 项目地址: https://gitcode.com/gh_mirrors/pl/pl2303-win10 在Windows 10系统中使用PL2303 USB转串口设…...

3分钟快速上手:bilibili-parse视频解析API终极指南

3分钟快速上手:bilibili-parse视频解析API终极指南 【免费下载链接】bilibili-parse bilibili Video API 项目地址: https://gitcode.com/gh_mirrors/bi/bilibili-parse bilibili-parse是一款高效专业的B站视频解析工具,为开发者和内容创作者提供…...

全方位梳理 OpenClaw 部署与使用干货

OpenClaw 一键安装包|可视化部署,简化环境配置流程 ✨适配系统:Windows10/11 64 位 当前版本:v2.7.5(虾壳云版) ✨核心优势:全程可视化操作,不用命令行、不用手动配置 Python/Node…...

VideoDownloadHelper终极指南:解锁浏览器视频下载的完整解决方案

VideoDownloadHelper终极指南:解锁浏览器视频下载的完整解决方案 【免费下载链接】VideoDownloadHelper Chrome Extension to Help Download Video for Some Video Sites. 项目地址: https://gitcode.com/gh_mirrors/vi/VideoDownloadHelper 还在为无法保存网…...