LLM 真的改变了编码风格吗?

LLM 真的改变了编码风格吗?

最近几年,关于 AI 编程有一种很流行的说法:

“LLM 正在改变编码风格。”

但仔细思考后,我发现更准确的说法其实是:

LLM 并没有推翻软件工程原则,
而是重新排列了它们的重要性。

AI 改变的不是“什么是好代码”,而是:

  • 什么更划算
  • 什么更容易维护
  • 什么更容易生成
  • 什么更容易被 AI 理解

这背后,本质上是:

代码经济学发生了变化。


一、哪些东西其实没有改变

很多所谓 “AI 时代的新风格”,其实在 AI 出现之前就已经是优秀实践。

LLM 只是放大了它们的重要性。


1. 可读性始终重要

例如:

  • 清晰命名
  • 小函数
  • 明确边界
  • 一致风格
  • 显式逻辑

这些从来都不是 AI 发明的。

Python 的《PEP 20》早在 1999 年就写着:

Explicit is better than implicit.

AI 只是进一步证明:

显式代码不仅对人友好,也对机器友好。


2. 分层架构没有改变

经典的:

Controller
  ↓
Service
  ↓
Repository
  ↓
Database

并不是 AI 时代的新发明。

从 Java EE、DDD 到 Clean Architecture,这些思想已经成熟很多年。

AI 只是让这种结构:

  • 更容易生成
  • 更容易补全
  • 更容易自动修改
  • 更容易推断

3. 类型系统的重要性本就在提升

TypeScript、Rust、Python typing 的流行,并不只是因为 AI。

还因为:

  • 大型项目协作
  • IDE 智能化
  • 自动重构
  • 静态分析

但 AI 的出现,让类型获得了新的意义:

类型不仅是给编译器看的,
也是给 AI 的语义约束。


4. 文档从未真正过时

过去很多人喜欢说:

“代码即文档。”

但优秀团队一直都重视:

  • docstring
  • API schema
  • examples
  • RFC
  • ADR

AI 时代只是让文档第一次:

直接影响代码生成质量。


二、真正改变的是什么?

真正变化的,并不是“什么是好代码”。

而是:

不同工程原则之间的权重。


1. “简洁”不再绝对优先

过去程序员天然追求:

  • 更短
  • 更巧
  • 更 DRY
  • 更抽象

因为:

人工写代码非常昂贵。

但 AI 让代码生成成本急剧下降。

于是:

“少写代码”的价值下降了。

反而:

“容易理解”的价值上升了。

因此现在越来越多团队更接受:

  • 稍微冗余一点
  • 稍微展开一点
  • 稍微啰嗦一点

因为它们:

  • 更稳定
  • 更容易维护
  • 更适合 AI 修改

2. “聪明代码”的收益下降

过去高级工程师喜欢:

  • 元编程
  • DSL
  • 黑魔法
  • 动态注入
  • 高级技巧

因为这些能减少重复代码。

但现在:

AI 本身就很擅长生成模板代码。

于是:

过去:

减少重复 = 巨大收益

现在:

减少重复 ≠ 一定值得复杂抽象

因为复杂抽象会:

  • 降低 AI 理解能力
  • 增加修改风险
  • 提高 hallucination 概率

于是:

“复杂抽象税”变高了。


3. DRY 开始被重新平衡

过去:

DRY(Don't Repeat Yourself)

几乎像信仰。

但 AI 时代越来越多团队开始接受:

“适度重复,比过度抽象更好”。

例如:

过去会强行统一:

build_response(role, options, permissions)

导致:

  • 参数爆炸
  • 条件复杂
  • 可读性下降

现在很多团队反而愿意保留:

build_user_response()
build_admin_response()

因为:

  • AI 更容易局部修改
  • 更少副作用
  • 更容易推断行为

4. “局部性”价值暴涨

LLM 并不像人类一样:

  • 长时间维持大型抽象模型
  • 全局理解整个系统

它更依赖:

  • 局部上下文
  • 附近 token
  • 明确结构

因此:

局部可理解性变得异常重要。

这也是为什么:

  • 小模块
  • 高内聚
  • 短文件
  • 低隐式依赖

越来越受欢迎。


5. “框架魔法”开始降温

过去很多框架追求:

  • 自动注入
  • 约定优于配置
  • 运行时反射
  • 隐式行为

因为:

人类讨厌样板代码。

但 AI 并不讨厌样板代码。

于是现在越来越多人开始偏向:

  • 显式依赖
  • 明确生命周期
  • 可静态分析
  • 少运行时魔法

因为这些:

  • 更容易生成
  • 更容易调试
  • 更容易自动修改

三、AI 时代真正变重要的东西

1. 命名

变量名不再只是给人看的。

它本身就是 AI 的语义提示。

例如:

x
tmp
obj

和:

payment_retry_count
authenticated_user
invoice_total

对 AI 来说完全不是同一个难度。


2. 类型

类型不仅帮助 IDE。

更是在给 AI 提供:

  • 边界
  • 约束
  • 意图
  • 数据结构信息

3. docstring 与注释

过去很多人认为:

“好代码不需要注释。”

但 AI 会把 docstring 当成:

  • 高质量语义描述
  • 意图声明
  • 行为规范

因此:

好的注释重新变得非常有价值。


四、最本质的变化:代码经济学改变了

过去:

人类写代码昂贵
→ 减少重复
→ 提高抽象
→ 压缩代码

现在:

AI 生成代码便宜
→ 重复成本下降
→ 显式代码更划算
→ 清晰优于技巧

这才是最核心的变化。


五、代码正在从“工艺品”变成“沟通协议”

以前:

程序员直接操控机器。

现在:
程序员越来越像:

  • 架构师
  • 审稿人
  • AI 协作者

代码开始承担:

  • 给机器执行
  • 给人类理解
  • 给 AI 推理
    三重角色。

六、未来更受欢迎的代码特征

未来最受欢迎的代码,很可能同时对:

  • 人类友好
  • AI 友好

它们通常具有这些特点:

  • 显式
  • 类型清晰
  • 命名稳定
  • 模块化
  • 高局部性
  • 少魔法
  • 易搜索
  • 易重构
  • 易测试
  • 易生成

你会发现:

这些并不是全新的原则。

很多其实都是经典工程实践。

只是 AI 时代重新放大了它们的价值。

posted @ 2026-05-13 14:54  悠哉大斌  阅读(17)  评论(0)    收藏  举报