54、【OS】【Nuttx】编码规范解读(二)
背景
接上篇 blog
53、【OS】【Nuttx】编码规范解读(一)
下面接续来分析 Nuttx 的编码规范
Nuttx 编码规范
行
行结尾
- 使用 Unix 风格的换行符(\n),而不是 Windows 风格的回车换行序列(\r\n)
- 确保每一行的末尾没有多余的空白字符
- 文件末尾要有个单一的换行符(\n)
行宽
- 每行不超过 78 字符
空行
- 单空行:可以在逻辑分组之间使用单个空行,以提高代码的可读性,具体由设计者决定
- 不允许使用两个或更多的连续空行,以保持代码紧凑,易于阅读,避免不必要的空白
列对齐
相似的元素应对齐到同一列,除非会导致行宽超过 78 字符,以增强代码的可读性,比如
注释
注释和代码一样重要,它们共同作用于提高软件项目的可读性、可维护性和可持续发展能力
- 提高可读性:好的注释能够清晰地解释代码的意图和设计思路,而不仅仅是描述“做了什么”,对于理解复杂的逻辑非常重要
- 增强可维护性:当需要对代码进行修改或扩展时,注释可以提供上下文信息,帮助开发人员准确理解哪些部分可能受到影响,以做出正确的调整
- 支持团队协作:团队在运作时,不同成员大概率负责不同模块。良好的注释有助于团队成员间更好地理解与协作,即使不是自己写的代码也可以轻松理解
下面对 Nuttx 注释要求进行解读
注释中的文本必须符合标准的美式英语语法和拼写规则:
- 句子以大写字母开头,以句号(.)、问号(?)或感叹号(!)结尾
- 句子片段和短语要视为完整的句子处理
- 句号和冒号后面跟两个空格,比如 This is a sentence. This is another sentence: And so on.
- 逗号和分号后面跟一个空格,比如 This is a clause, and this is another clause; both are part of the same sentence.
- 句号或冒号之后的字符以大写字母开头,逗号或分号之后的字符以小写字母开头
行间距
每个注释前后都应该有一个空行,以提高代码的可读性,例外情况如下:
文件头注释
文件头注释前不需要有空行
条件编译
- 条件编译前应该有一个空行
- 紧跟条件编译后的注释不应有空行
大括号
左右大括号前后的注释也不需要空行
举例如下
缩进
注释在要解释的代码之前,缩进与代码保持一致
单行注释
简短的注释必须位于单行上,且注释定界符(/* … */ 或 //)也必须在同一行,比如
多行注释
- 如果注释内容太长,无法放在单行内,则需要将其拆分为多行注释
- 多行注释必须从第一行开始,并且以注释起始定界符 (/*) 开头
- 多行注释的后续每行都应以一个星号 (*) 开头,并且这些星号应该与前一行中的星号对齐在同一列
- 注释的结束定界符 (/) 应该单独占一行,且其前面的星号 () 也需要与前一行中的星号对齐在同一列
举例如下
右侧注释
在源文件中的语句右侧添加注释不被鼓励,如果必须使用,则应遵循以下两条规则
- 注释要简短,确保不会超过规定的 78 个字符行宽
- 注释要对齐,应当在每一行上从同一列开始,以保持代码整洁和可读性
举例如下
数据定义的右侧注释
结构体,枚举等类型声明时,右侧注释例外,是被鼓励的,但要注意不要超过行宽规定 78 字符的限制,并且做好列对齐,举例如下