当前位置:首页>Linux>给你一份Linux内核开发规范,让AI帮你写正确的代码

给你一份Linux内核开发规范,让AI帮你写正确的代码

  • 2026-10-11 08:38:33
给你一份Linux内核开发规范,让AI帮你写正确的代码

让AI帮你写代码,最重要的是什么?

那就是规范。

无规矩不成方圆,同样能力的AI大模型,有的人可以写出规范的生产级代码,而有的人只能写出勉强能跑的屎山代码,差别就在编程规范。

我写的这份规范,分别从目录结构、编码、错误处理、日志这4个维度来定义,当然大家还可以根据自己的需要补上你想关注的维度:

  • directory-structure.md: 内核代码如何组织的规范
  • quality-guidelines.md: 编码规范(内核风格)
  • error-handling.md: 内核代码中的错误处理规范
  • logging-guidelines.md: 内核代码日志、调试规范

下来我们一起来看看规范里都定义了什么?

目录规范

定义了:

  • 目录职责边界
  • 新增代码放置规则
  • Kconfig/Makefile 组织规范
  • 驱动目录组织建议(drivers)
  • 跨子系统与分层约束
  • UAPI 与兼容性
  • 文档与测试伴随规则
  • 禁止事项

编码规范

定义了:

  • 基础风格
  • 命名与可读性
  • 函数设计约束
  • 并发与上下文安全
  • 内存与资源管理
  • 注释与文档
  • 内核 API 使用优先级
  • 提交前质量门禁
  • 评审关注点(Checklist)

错误处理规范

定义了:

  • 返回值统一约定
  • 指针错误编码(必须)
  • 失败路径组织(goto 模式)
  • 错误码选择原则
  • probe/remove 与生命周期错误处理
  •  锁与错误路径
  • 日志与错误分离
  • 典型反例(禁止)

日志规范

定义了:

  • 日志 API 选型
  • 级别使用规范
  • 格式与内容规范
  • 频率控制与去重
  • 调试开关与动态调试
  • 错误日志编写建议
  • 上下文与时序注意事项
  • 调试实践流程(建议)

有了这些规范,怎么来使用呢?

很简单,如果你用claude code,那么就在CLAUDE.md文件里引用这些规范文件。

如果你用的是codex,那么就在AGENTS.md文件里引用这些规范文件。

不管是在CLAUDE.md还是在AGENTS.md里,你都可以使用类似下面的方式来引用:

...<!-- 下面的文字放到你的CLAUDE.md的合适的位置 -->## linux内核代码开发规范:- 目录规范: [references/directory-structure.md](references/directory-structure.md)- 编码规范: [references/quality-guidelines.md](references/quality-guidelines.md)- 错误处理规范: [references/error-handling.md](references/error-handling.md)- 日志规范: [references/logging-guidelines.md](references/logging-guidelines.md)...

整个规范源码,我已经放到了github(或点击【阅读原文】链接):

https://github.com/simple-tec/linux-kernel-develop-spec

大家可以自由学习、修改、传播,同时也欢迎大家反馈使用情况、提issue。

期待你的反馈。

最新文章

随机文章