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代表了进程/线程的唯一IDerrno_t代表errno.h中的返回值
(readwrite等函数会同时返回错误码和长度的可用size_t而不用errno_t)
功能宏
几乎所有的功能类宏/宏函数定义, 都在 src/include/krlibc.c 中.
如 MAX MIN likely unlikely 等.
如需要新增功能宏也在 krlibc.h 中补充
Last updated on