预见猿份 · 博客

功能能跑通,这样的 AI 生成代码,你敢直接上生产吗?

AI编程

现在用 AI 写代码已经成为开发日常。复制需求,AI 噼里啪啦输出一大段代码,复制到项目,调试两下,功能居然真的跑通了。

很多人到这里就觉得完事了,可以提交、上线。但跑通功能,就等于合格的工程代码吗?

今天收到同学一份混合手写 + AI 生成的 Java 后端代码,功能全部可以正常运行,没有报错。但通篇看下来,到处都是 AI 编码非常典型的"隐性坑",今天拿出来和大家一起拆解讨论。

截图 1:Controller 层

// 所有接口入参全部用 Map<String,Object>,返回值统一返回 LinkedHashMap
public LinkedHashMap<String, Object> createIntegration(@RequestBody Map<String, Object> body)

问题点:

  1. 所有接口入参直接使用Map<String,Object>,没有定义 DTO 请求实体。没有编译期类型校验,字段写错、类型错误,只能等到运行时才会暴露。
  2. 返回值全部硬编码LinkedHashMap,没有 VO 返回对象。接口返回字段完全不受约束,文档、调试、前端对接都很痛苦。
  3. Controller 层极度薄,只做转发,把全部参数裸 Map 直接透传给 Service 层。

短期:Demo 跑得飞快。

长期:改一个字段,全链路没有任何约束,全靠人脑记忆,极易埋 bug。

截图 2:Service 接口

List<LinkedHashMap<String, Object>> usageSummary(String tenantId, int days);
LinkedHashMap<String, Object> createBillingRule(CurrentAdmin user, Map<String, Object> body);

问题点:

  1. Service 接口全盘接收裸 Map 入参、返回LinkedHashMap。整个业务层放弃 Java 静态类型系统优势,把强类型 Java 写成了弱类型脚本。
  2. 方法参数越来越膨胀,部分方法一长串入参,可读性差,后续新增参数极易出错。
  3. 接口契约完全隐形,看接口签名完全不知道传入什么、返回什么结构,必须去读实现代码。

AI 为了快速实现功能,直接绕过 DTO/BO 对象,用 Map 万能容器"一把梭"。跑 Demo 很爽,但这是用编译安全换开发速度。

截图 3:鉴权逻辑实现

问题点:

  1. 多种鉴权模式(API‑KEY、BEARER_TOKEN、BASIC_AUTH…)大段 if‑else 复制粘贴,大量重复逻辑。
  2. 不同鉴权分支几乎是复制粘贴改几行字符串,没有做策略模式抽取。新增一种鉴权方式,只能继续复制新增 if‑else 块。
  3. 同样的列表取随机值逻辑,在每一个分支重复写一遍。后续修改取随机逻辑,需要修改 N 处,漏改一处就产生 bug。

AI 很擅长复制粘贴式实现,能把业务跑起来,但不会主动做抽象、抽取公共逻辑。


核心思考:能跑 ≠ 适合上生产

上面这三段代码,功能全部可以跑通,业务能正常交付。但是放到真实项目,隐患会在后续迭代慢慢爆发:

✅ 现象:功能正常

❌ 隐患:

  1. 丢失 Java 静态类型保护,大量问题从编译期推迟到运行时;
  2. 大量重复代码,修改一处就要改多处,维护成本极高;
  3. 没有 DTO/VO,接口契约模糊,对接、单元测试非常困难;
  4. if‑else 泛滥,新增需求只能继续堆分支,代码越迭代越腐烂。

AI 的定位,更像是一个高级实习生:快速给你输出可运行草稿,但不会自动帮你做工程优化。

很多开发者的误区:AI 生成的代码只要跑通,就可以直接合并上线。

真实工业开发的标准是:跑通只是最低门槛。可读性、可维护性、可扩展性、类型安全,同样至关重要。

拿到 AI 代码,绝对不能直接复制粘贴完事。需要我们做二次工作:定义实体、抽取公共逻辑、消除重复、优化分支、补齐约束,把草稿打磨成工程代码。

🤔看完这几段代码,如果是你接手这份业务代码:

  1. 你最先动手改造哪一块?
  2. 你还看到哪些隐藏风险?

我是老苗,公众号「预见猿份」主理人。

预见猿份,预见你的下一份 Offer,带你入行,陪你走远。

我做 Java、AI 一对一私教,主打项目实战、面试辅导、入职陪跑。

不少同学过度依赖 AI 写代码,只求跑通不深究原理,看着上手快,实则基础薄弱,缺少项目思维与排错能力,陷入技术空心化。

我的教学拒绝无脑复制 AI 代码:夯实 Java 基础,吃透业务项目逻辑,搭建开发排错思维,把 AI 当做提效工具,而不是过度依赖。让你项目拿得出手、面试有亮点,真正实现落地能力。

想深耕 Java、打磨实战、突破面试瓶颈,欢迎关注「预见猿份」,踏实进阶,拿下心仪 Offer。

老苗

苗润土老师 20年一线开发经验 星辰wms 、云岚到家、学成在线项目作者

TA 的全部文章 →