当前位置: 首页 > news >正文

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 字符的限制,并且做好列对齐,举例如下
在这里插入图片描述

相关文章:

  • 学习黑客环境配置
  • 参数包展开到初始化列表
  • 高频数据冲击数据库的技术解析与应对方案
  • 《操作系统真象还原》第十二章(2)——进一步完善内核
  • 短信登录功能实现(黑马点评)
  • 山东大学计算机组成与设计第七章习题解析
  • 评估动态化烹饪工艺与营养实训室建设要点
  • NAPPING: 1.0.1靶场(Vulnhub系列)
  • Java框架“若依RuoYi”前后端分离部署
  • 视频编解码学习二之颜色科学
  • 通过Docker部署Prometheus + Grafana搭建监控平台【超详细版】
  • 机器学习常用评价指标
  • 海外新版本开发高端Apple/科技汽车/共享投资理财平台系统
  • FastAPI系列14:API限流与暴力破解防护
  • 机器人编程基础---C语言中的表达式和求值
  • Docker Compose:服务编排:批量管理多个容器
  • QT中的JSON
  • MIT6.S081-lab8前置
  • 硬件零基础入门(尚硅谷)
  • 3392. 统计符合条件长度为 3 的子数组数目
  • 酒店民宿一房难求,湖北宣恩文旅局工作人员腾出家中空房给游客救急
  • 安徽两位新任地级市政府党组书记亮相
  • 长三角铁路今日预计发送旅客420万人次,有望创单日客发量新高
  • 当农民跨进流动的世界|劳动者的书信①
  • 乌副总理:乌美签署矿产协议
  • 新华时评:防范安全事故须臾不可放松