找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

5128

积分

0

好友

699

主题
发表于 2 小时前 | 查看: 2| 回复: 0

用AI写代码,什么最关键?答案就是规范。没有规矩不成方圆,同样能力的AI大模型,有的人能写出规范的生产级代码,而有的人只能写出勉强能跑的“屎山”,差别就在编程规范

我们整理的这份规范,分别从目录结构编码错误处理日志四个维度定义。当然,你也可以根据自己的需要补上其他关注的维度。

  • 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。期待你的反馈。




上一篇:AI辅助10分钟降低独立思考?卡内基梅隆研究揭示认知债务风险
下一篇:DeepSeek-V4架构拆解:百万Token成本直降70%的黑科技
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-4-27 22:15 , Processed in 0.744047 second(s), 42 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表