Skip to Content
CoolPotOS 4.0 rebuild developing
文档图标Source CodeCode Rule

CoolPotOS Code Rule

此页面规定了 CoolPotOS 主仓库中的代码风格, 以统一各个贡献者不同的码风.

代码格式化

项目根目录提供了 .clang-format 规定了 CoolPotOS 代码的格式化风格,
各贡献者可在递交前用此配置文件格式化一次代码.

命名规则

源文件命名规则

源文件的命名采用蛇形命名法 (Snake Case)
仅由字母/数字 + 下划线的方式进行命名.

数字仅出现在设备驱动和架构等必要的源文件命名中, 其余情况不建议出现数字
非必要情况下可以不使用下划线, 仅由单个单词组成

函数命名规则

函数的命名仍然采用蛇形命名法 (Snake Case)
函数名仅由字母/数字 + 下划线的方式进行命名.
功能基本相同, 被命名函数为其对应函数的具体实现时, 可以在函数末尾加数字 0.

不建议出现小驼峰命名法, 大驼峰明令禁止(这在C中是邪教)

变量/常量命名规则

变量的命名规则采用普通的蛇形命名法 (Snake Case)
而常量则采用尖叫蛇形命名法 (SCREAMING SNAKE CASE)

尖叫蛇形命名法: 所有的字母全部大写, 其余与普通蛇形命名法一致

结构体等其他对象的命名规则

建议采用蛇形命名法 (Snake Case)
可以适当采用驼峰命名法(Camel Case), 大小皆可.

但是同一源文件中不允许出现两种命名法.

定义

类型

src/include/types.h 中定义了 CoolPotOS 所需要的所有基本类型.
不允许自己定义具有相同功能的类型, 防止引用混乱.
如需要新的基本类型定义则在 types.h 中补充.

  • pid_t 代表了进程/线程的唯一ID
  • errno_t 代表 errno.h 中的返回值
    (read write 等函数会同时返回错误码和长度的可用 size_t 而不用 errno_t)

功能宏

几乎所有的功能类宏/宏函数定义, 都在 src/include/krlibc.c 中.
MAX MIN likely unlikely 等. 如需要新增功能宏也在 krlibc.h 中补充

Last updated on