AI 写的前端代码,为什么总是“能用但难维护”?—— 一个 productdemo.html 的架构评审实录(二)
《AI 写的前端代码为什么总是“能用但难维护”—— 一个 productdemo.html 的架构评审实录二》作者咏方舟-长江之流日期2026-07-111. 引言从“能用”到“好用”的距离在上一篇《AI 写的前端代码长什么样—— productdemo.html 的CRUD功能演示一》中我们完整展示了一个由 AI 生成的产品管理页面界面精致、功能齐全、交互流畅开箱即用堪称“快速原型”的典范。包括全部源码大家可以去查看。但我也在文末留了一个问题这样的代码真的可以直接上线、长期维护吗答案是否定的。如果说第一篇是“展示产品的光鲜外表”那么这一篇就是“拆开机器看内部构造”。今天我将以架构评审的视角逐条剖析这份代码在扩展性、可维护性、复用性、团队协作四个维度上的深层问题。一句话概括我的评价AI 生成的productdemo.html能用但属于「一次性演示代码」不具备架构级扩展能力。目前我正在推进的一项核心工作是将此前基于 XML 配置的报表与 CRUD 功能模块整体迁移至Visual Studio 2026开发平台并对底层架构进行深度优化重构。这次重构的关键在于选用.NET Standard作为底层基础库的规范标准。.NET Standard 是跨所有 .NET 实现的统一接口规范相当于一份“API 契约”基于它编写的类库可以被两类运行时同时调用一类是 Windows 专属的经典运行时.NET Framework另一类是跨平台的新一代运行时实现.NET Core现已统称为 .NET 5。通过这一架构设计我希望在兼容现有 Windows 生态的同时也为未来的跨平台部署留出充分空间让“配置驱动”的前端方案能够真正跑通全栈、适配多端。在上一篇[《AI 写的前端代码长什么样—— productdemo.html 的CRUD功能演示一》]前端其实调用的所有后端已在最新最轻量级架构上实现。请关注后面博文将贴出全部源码并讲解架构及调用关系。很早前我用EasyUI DataGrid应用模板方式和VS2019的布局输出前端并且以前做了页面输出提供者接口INormViewProvider。【开源】一个泛型接口的点睛之笔决定了一套架构跨过了 .NET 的几个版本下面这个的数据显示界面就是由新写的H5页面提供者根据是PC浏览器还是手机浏览器、自动换成折叠行的Card显示。我相信大家如果了解了这个架构和设计思路一定会有收获同样的XML配置你看可以切换风格这不知道省了多少代码而我一行前端也没写。2. 总体评价功能原型 ✅架构基础 ❌从功能验证的角度来看这个页面能跑、能调、能看增删改查、分页筛选、弹窗提示全部正常完成需求没有任何问题。但如果评审标准从“功能是否完成”切换到“代码是否易于长期维护”它就暴露出了 AI 典型的“写完就跑”风格 —— 只解决当下的显示问题不为未来的变化留出结构空间。我把问题归纳为4 个核心缺陷下面逐一展开。3. 问题拆解四个架构层面的硬伤3.1 渲染逻辑与数据逻辑完全耦合问题表现数据请求、分页计算、表格渲染、错误提示全部堆在loadList()这一个函数里。粗略一数它至少干了 6 件事构造请求参数发起网络请求解析响应数据更新分页状态渲染表格 HTML处理加载/空状态扩展影响如果产品表要加一个字段比如Category你需要同时修改SQL 查询语句、后端 DTO 映射、前端表格模板、排序字段配置、筛选条件逻辑……每一层都得改改了还可能漏。扩展性评分⭐☆☆☆☆极低— 每加一个字段全链路散落修改。3.2 API 调用没有统一封装问题表现loadList、saveProduct、deleteProduct、openEditModal这四个函数里分别直接写了fetch(url, { method, headers, body })。没有统一的错误拦截Token 自动注入超时处理Loading 状态管理请求重试维护影响假设后端接口路径从/api/product统一改为/api/v1/product你需要到 4 个不同的函数里分别修改漏改一处就全线崩溃。维护性评分⭐☆☆☆☆极低— 请求逻辑没有收敛到单一入口。3.3 状态管理用全局变量 DOM 查询问题表现分页状态靠currentPage、pageSize、totalRecords、totalPages四个全局变量散落各处筛选条件直接用document.getElementById().value实时读取没有任何 ViewModel 层复用影响如果产品管理页面要新增一个“热门产品”列表或者“已删除产品”列表这两个列表需要独立的分页、筛选、数据状态。当前的代码无法复用唯一的选择就是复制整个表格逻辑然后改字段名—— 然后你就有了两份需要同步维护的代码。复用性评分⭐☆☆☆☆极低— 代码与页面 DOM 结构死死绑定无法移植到其他模块。3.4 没有考虑 UI 组件化问题表现表格、分页器、模态框、Toast 全都是手写 DOM 操作createElement、innerHTML、classList.add/remove没有封装成任何可复用的 UI 组件。协作影响当团队里另一位同事要做一个“用户管理”模块时他需要重新写一个表格重新写一个分页器重新写一个模态框重新写一套 Toast这些代码不是“引用”自共享组件库而是复制一份改字段名。团队协作评分⭐☆☆☆☆极低— 每个人都在重复造轮子且造出来的轮子形状还不一样。4. 总结AI 完成了“0 到 1”但没给“1 到 100”留下空间综合以上四点可以得出一个明确的结论AI 生成的productdemo.html是“功能原型”级别的产物不是“架构级前端”的产物。它的价值在哪里✅ 项目初期用来快速演示给客户看确认需求方向✅ 作为MVP 原型验证技术可行性✅ 作为学习示例展示 CRUD 的基本交互模式但如果项目的目标是“长期维护、多人协作、持续迭代”那么它迫切需要一次架构层的前端重构重构方向具体措施统一请求层抽离apiClient集中处理错误、Token、超时、Loading状态管理引入 Vue/Pinia 或 React/Redux至少封装一个 Store 对象UI 组件化封装DataTable、Pagination、Modal、Toast等可复用组件业务逻辑分离将数据逻辑从 DOM 操作中剥离放入 Service 层或 Hooks5. 最后的思考人 AI 的最佳协作模式有人可能会问“既然 AI 生成的代码有这么多问题那是不是说明 AI 写代码不靠谱”我的观点恰恰相反AI 是非常优秀的执行者但不是合格的架构师。它擅长快速搭建一个功能完整的 Demo生成符合语法规范的样板代码完成重复性的编码工作它不擅长为未来的变化预留扩展空间做跨模块的抽象和复用设计权衡短期效率与长期维护成本所以正确的姿势应该是人做架构决策AI 做代码执行。架构师负责定义模块边界、设计数据流向、规划组件复用策略AI 负责在这些框架内快速生成具体实现。这样既能发挥 AI 的速度优势又能保证代码的长期可维护性。真正的架构师永远是人。AI应该是人的得力助手。明白了你希望用一段简短的过渡来收尾自然引出那三篇已有的文章作为参考而不是在正文里展开新架构的细节。以下是修改后的第二篇结尾从第5节之后开始替换6. 预告从“代码生成”到“配置驱动”说到重构的方向其实我一直在思考一个更根本的问题既然 AI 已经能自动生成 CRUD 代码那为什么我们不直接跳过“生成代码”这一步让前端连代码都不用写换句话说与其让 AI 去写一堆将来要改、要删、要重构的代码不如把业务配置和UI 渲染彻底分离 —— 前端只负责解析配置、动态渲染所有的业务逻辑数据源、过滤字段、显示列、表单结构全部由配置文件来定义。这套思路我称之为“配置驱动的前端架构”。事实上这个方向我已经实践了相当长一段时间也积累了一些初步的成果。感兴趣的朋友可以先看看我之前写的几篇文章了解一下这套理念的来龙去脉《不是程序员可能做报表吗》《DBA开发PC和手机报表解决方案及实践》《将复杂数据操作“标准化、配置化、平民化”之天下报表回归报表本质》这三篇文章讲的是这套架构的早期探索—— 如何通过 XML 配置让 DBA 和业务人员也能快速生成数据报表无需编写前后端代码。而我正在做的是把这套理念从“报表”延伸到完整的 CRUD 业务页面—— 增删改查、分页筛选、表单校验、状态管理全部由 XML 配置驱动前端一行代码也不用写。关于这套新架构的完整设计、XML 配置规范、以及它如何从根本上解决 AI 代码“能用但难维护”的痛点我会在后续文章中详细展开敬请期待。本文首发于 CSDN作者咏方舟-长江之流不用授权欢迎转载。如果你觉得有用欢迎点赞、收藏、评论让更多人看到 AI 代码的“另一面”。回顾上一篇[《AI 写的前端代码长什么样—— productdemo.html 的CRUD功能演示一》](#)

相关新闻

Huggingface 镜像站 hf-mirror.com 与 hf-cdn.sufy.com 对比:2种方案下载速度与稳定性实测

Huggingface 镜像站 hf-mirror.com 与 hf-cdn.sufy.com 对比:2种方案下载速度与稳定性实测

HuggingFace 镜像站深度评测:hf-mirror.com 与 hf-cdn.sufy.com 的实战对比在国内使用HuggingFace生态时,网络连接质量往往成为影响工作效率的关键因素。本文将针对两个主流镜像站——hf-mirror.com和hf-cdn.sufy.com,从下载速度、稳定性、功…

2026/7/12 6:15:23 阅读更多 →
GitHub Copilot CLI v0.0.369 安装与实战:5分钟完成终端AI编程环境搭建

GitHub Copilot CLI v0.0.369 安装与实战:5分钟完成终端AI编程环境搭建

GitHub Copilot CLI v0.0.369 终端AI编程环境5分钟极速搭建指南对于习惯在终端工作的开发者而言,GitHub Copilot CLI的推出无疑是一场效率革命。这个独立于IDE的命令行工具将AI编程能力直接注入到您的工作流中,让脚本编写、自动化任务和日常开发变得前所…

2026/7/12 6:15:23 阅读更多 →
Unity高性能场景管理:八叉树空间加速器实现与优化指南

Unity高性能场景管理:八叉树空间加速器实现与优化指南

1. 项目概述:为什么Unity开发者需要自己的空间加速器?如果你在Unity里做过稍微复杂点的3D项目,比如一个开放世界、一个策略游戏,或者一个有成百上千个动态物体的模拟场景,大概率遇到过这样的问题:当你想检测…

2026/7/12 6:13:23 阅读更多 →

最新新闻

Codex 用到一半弹验证码,很多人都是这一步才开始头疼

Codex 用到一半弹验证码,很多人都是这一步才开始头疼

最近不少人用 Codex 或其他 AI 工具时,会遇到一个小问题:突然要求手机号验证。 一开始大家可能觉得没什么,找个临时号收一下就行。 但真正长期使用以后,会发现临时方案并不适合所有场景。 常见情况有几种: - 第一…

2026/7/12 7:13:56 阅读更多 →
LangChain RAG效果翻倍实录(RAG评估指标F1骤升42.6%的底层逻辑)

LangChain RAG效果翻倍实录(RAG评估指标F1骤升42.6%的底层逻辑)

更多请点击: https://intelliparadigm.com 第一章:RAG效果跃迁的观测现象与核心归因 近期多个工业级RAG系统在引入细粒度文档切片、查询重写与混合检索策略后,出现显著的效果跃迁现象:在HotpotQA和Natural Questions基准上&#…

2026/7/12 7:11:56 阅读更多 →
客易云关注“人工智能+”行动深化,智能经济新形态写入政府工作报告

客易云关注“人工智能+”行动深化,智能经济新形态写入政府工作报告

2026年《政府工作报告》首次提出“打造智能经济新形态”,围绕深化拓展“人工智能”、推广智能终端与智能体、布局算力新基建、完善数据要素制度、健全人工智能治理等关键环节作出系统安排。报告明确提出,数字经济核心产业增加值占国内生产总值的比重提高…

2026/7/12 7:11:56 阅读更多 →
电赛——示波器导入曲线进行THD分析

电赛——示波器导入曲线进行THD分析

1.从示波器导出数据到U盘2.打开MATLAB,选择合适的文件夹3.导入数据注意此时选中表格全部内容4.到工作区双击表格名称,进入编辑区5.删除NAN包括最后一行6.编写代码,平移坐标轴代码:三个关键点:(1&#xff09…

2026/7/12 7:07:53 阅读更多 →
服务器RAID卡选型指南:5种主流级别(RAID 0/1/5/6/10)性能与冗余实测对比

服务器RAID卡选型指南:5种主流级别(RAID 0/1/5/6/10)性能与冗余实测对比

服务器RAID卡选型实战指南:5种主流级别性能与冗余深度解析在数据中心和云计算时代,服务器存储系统的性能与可靠性直接决定了业务连续性。作为存储架构的核心组件,RAID卡的选择往往成为IT工程师最关键的决策之一。不同于普通消费级存储方案&am…

2026/7/12 7:07:53 阅读更多 →
C++ std::any_of:现代C++中高效检查容器元素存在性的声明式算法

C++ std::any_of:现代C++中高效检查容器元素存在性的声明式算法

1. 项目概述:为什么我们需要std::any_of?在C的日常开发中,尤其是处理容器数据时,有一个场景反复出现:我需要快速判断一个集合里,是否存在至少一个元素满足某个特定条件。比如,检查一个用户列表里…

2026/7/12 7:07:53 阅读更多 →

日新闻

互联网大厂 Java 求职面试:燕双非的搞笑回答与技术探讨

互联网大厂 Java 求职面试:燕双非的搞笑回答与技术探讨

互联网大厂 Java 求职面试:燕双非的搞笑回答与技术探讨 在一个阳光明媚的上午,互联网大厂的面试官坐在桌前,准备迎接他的面试候选人——燕双非,一个以搞笑和幽默著称的程序员。第一轮提问 面试官:燕双非,作…

2026/7/12 0:03:13 阅读更多 →
车载以太网PMA测试设备选型:示波器、VNA、信号源3类仪器关键参数与预算评估

车载以太网PMA测试设备选型:示波器、VNA、信号源3类仪器关键参数与预算评估

车载以太网PMA测试设备选型:示波器、VNA、信号源3类仪器关键参数与预算评估在智能驾驶和车联网技术快速发展的今天,车载以太网作为新一代车载网络的核心传输技术,其物理层性能直接决定了数据传输的可靠性和稳定性。1000BASE-T1作为当前主流的…

2026/7/12 0:03:14 阅读更多 →
VSCode EIDE 插件 2.0:APM32/STM32 项目迁移实战,5步完成Keil工程转换

VSCode EIDE 插件 2.0:APM32/STM32 项目迁移实战,5步完成Keil工程转换

VSCode EIDE 插件 2.0:APM32/STM32 项目迁移实战指南嵌入式开发领域正经历一场工具链的静默革命。当传统Keil用户首次打开VSCode的扩展市场搜索EIDE时,往往会惊讶于这个看似简单的插件竟能重构十余年的开发习惯。本文将揭示如何用五个精准步骤&#xff0…

2026/7/12 0:03:14 阅读更多 →

周新闻

互联网大厂 Java 求职面试:燕双非的搞笑回答与技术探讨

互联网大厂 Java 求职面试:燕双非的搞笑回答与技术探讨

互联网大厂 Java 求职面试:燕双非的搞笑回答与技术探讨 在一个阳光明媚的上午,互联网大厂的面试官坐在桌前,准备迎接他的面试候选人——燕双非,一个以搞笑和幽默著称的程序员。第一轮提问 面试官:燕双非,作…

2026/7/12 0:03:13 阅读更多 →
车载以太网PMA测试设备选型:示波器、VNA、信号源3类仪器关键参数与预算评估

车载以太网PMA测试设备选型:示波器、VNA、信号源3类仪器关键参数与预算评估

车载以太网PMA测试设备选型:示波器、VNA、信号源3类仪器关键参数与预算评估在智能驾驶和车联网技术快速发展的今天,车载以太网作为新一代车载网络的核心传输技术,其物理层性能直接决定了数据传输的可靠性和稳定性。1000BASE-T1作为当前主流的…

2026/7/12 0:03:14 阅读更多 →
VSCode EIDE 插件 2.0:APM32/STM32 项目迁移实战,5步完成Keil工程转换

VSCode EIDE 插件 2.0:APM32/STM32 项目迁移实战,5步完成Keil工程转换

VSCode EIDE 插件 2.0:APM32/STM32 项目迁移实战指南嵌入式开发领域正经历一场工具链的静默革命。当传统Keil用户首次打开VSCode的扩展市场搜索EIDE时,往往会惊讶于这个看似简单的插件竟能重构十余年的开发习惯。本文将揭示如何用五个精准步骤&#xff0…

2026/7/12 0:03:14 阅读更多 →

月新闻