FreeRTOS编码规范和风格指南

2023-04-14 20:07:31 浏览数 (2)

规范和指南是基于 FreeRTOS 的最佳实践和行业标准,旨在提高代码的质量和可靠性。

  1. 命名规范

1.1 变量和函数名应该使用小写字母和下划线,例如 my_variablemy_function()

1.2 宏定义应该使用大写字母和下划线,例如 MY_MACRO

1.3 结构体和枚举类型应该使用大写字母开头的驼峰命名法,例如 MyStructMyEnum

1.4 全局变量应该使用 g_ 前缀,例如 g_my_global_variable

1.5 静态变量应该使用 s_ 前缀,例如 static int s_my_static_variable

1.6 常量应该使用 k_ 前缀,例如 const int k_my_constant = 42

2. 缩进和空格

2.1 使用 4 个空格进行缩进,而不是制表符。

2.2 在二元运算符(例如 -*/ 等)两侧留有一个空格,例如 a = b c

2.3 在逗号后面留有一个空格,例如 int a, b, c;

2.4 在函数调用的左括号前面留有一个空格,例如 my_function(a, b, c)

2.5 在关键字和左括号之间留有一个空格,例如 if (condition)

3. 注释

3.1 使用 C 风格的注释(/* ... */)或 C 风格的注释(// ...)。

3.2 在代码中使用注释来解释代码的意图和功能,而不是解释代码本身。

3.3 在函数头部使用注释来描述函数的输入、输出和功能。

3.4 在代码中使用注释来标记重要的代码段或待办事项。

4. 函数

4.1 函数应该尽可能短小,只完成一个明确的任务。

4.2 函数应该有明确的输入和输出,以便于理解和测试。

4.3 函数应该遵循单一职责原则,即一个函数只完成一个任务。

4.4 函数应该避免使用全局变量,而应该使用参数和返回值来传递数据。

5. 错误处理

5.1 函数应该返回错误代码或状态,以便于调用者处理错误。

5.2 错误代码应该使用枚举类型或宏定义来定义,以便于理解和维护。

5.3 函数应该使用 assert() 宏来检查输入参数和状态,以便于调试和测试。

6. 其他

6.1 使用 FreeRTOS 提供的 API 来管理任务、信号量、队列等,而不是直接操作底层硬件。

6.2 避免使用浮点数,因为它们可能会导致不可预测的行为和性能问题。

6.3 避免使用递归函数,因为它们可能会导致栈溢出和性能问题。

6.4 避免使用动态内存分配,因为它们可能会导致内存泄漏和性能问题。

0 人点赞