惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

N
News and Events Feed by Topic
WordPress大学
WordPress大学
Vercel News
Vercel News
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
小众软件
小众软件
L
LangChain Blog
雷峰网
雷峰网
D
DataBreaches.Net
博客园 - 三生石上(FineUI控件)
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
T
Tor Project blog
NISL@THU
NISL@THU
Scott Helme
Scott Helme
量子位
S
Security Affairs
T
Threat Research - Cisco Blogs
博客园_首页
云风的 BLOG
云风的 BLOG
D
Docker
AWS News Blog
AWS News Blog
腾讯CDC
博客园 - 聂微东
The GitHub Blog
The GitHub Blog
U
Unit 42
Recent Announcements
Recent Announcements
Apple Machine Learning Research
Apple Machine Learning Research
G
Google Developers Blog
T
The Exploit Database - CXSecurity.com
MongoDB | Blog
MongoDB | Blog
Stack Overflow Blog
Stack Overflow Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
L
LINUX DO - 热门话题
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
The Last Watchdog
The Last Watchdog
C
Cybersecurity and Infrastructure Security Agency CISA
IT之家
IT之家
W
WeLiveSecurity
P
Privacy & Cybersecurity Law Blog
F
Full Disclosure
L
Lohrmann on Cybersecurity
The Hacker News
The Hacker News
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Y
Y Combinator Blog
S
Security @ Cisco Blogs
C
Cyber Attacks, Cyber Crime and Cyber Security
C
Check Point Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
N
News and Events Feed by Topic
PCI Perspectives
PCI Perspectives
I
InfoQ

博客园 - 悠哉大斌

AI Agent 安全沙箱技术对比:E2B、Cube Sandbox 与 Docker Sandboxes linux 升级 claude code的坑 debian(WSL) apt 代理配置 linux内核之Namespaces、Cgroups、Capabilities、Seccomp和Landlock 大语言模型推理中的隐藏瓶颈及其解决方法 Docker Sandboxes 技术是什么,和docker容器有什么区别 什么是 Docker Agent以及一个Docker Agent示例 windows wsl 安装 Temurin® JDK claude Code 和 codex 作为编程代理,前者使用typescript开发,后者使用rust,他们的决策依据是什么 Java 并发编程发展史与 java.util.concurrent 全景解析 如果人工智能会犯错且不精确,为什么它正在改变世界? Python 的协程模型和 JavaScript 的 async/await python闭包和function.__closure__特殊属性 python 的 dunder name和 sunder name 基于nodejs设计REST API的知名开源框架 windows上使用node-oracledb Thick 模式连接 Oracle 11g Claude Code CLI连接 DeepSeek V4模型后调用报400错误 python里对象(object)到底是什么 Python 泛型演变史 Python 类型别名的演变 Python 类型提示的演变史 PEP 593 新增的Annotated 类型 Alibaba AgentScope 和 microsoft agent framework 详细对比分析 spring AI Alibaba Agent Framework 和 agentscope有什么区别和联系 AI Agent协作模式以及主流开源框架对协作模式的支持 Tailscale 是如何接管 DNS 的? Agent = Model + Harness 使用rust编写typescript编译器的难点在什么地方,哪些数据结构是rust不擅长的? TypeScript/JavaScript 中的异步迭代语句 js中的生成器函数 Tailscale Serve and Funnel openclaw gateway的网络绑定模式 websocket协议和http协议有何依赖关系? MCP通信的双方是谁? claude code MCP 安装范围 如何在wsl2环境下给claude code cli 配置 playwright-mcp wsl的网络模式有哪几种,有哪些区别? AI Agent memory是什么? ai agent skills是什么? Go测试生态系统工具与最佳实践深度调研(聚焦认证授权系统) 线性代数中常见矩阵类型的概念关系思维导图 三种主流授权策略
LLM 真的改变了编码风格吗?
悠哉大斌 · 2026-05-13 · via 博客园 - 悠哉大斌

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 时代重新放大了它们的价值。