0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何规范嵌入式C编码注释以及排版与格式

麦辣鸡腿堡 来源:嵌入式系统 作者:嵌入式系统 2023-12-07 14:53 次阅读

注释

◎ 注释应放在其代码上方相邻位置或右方,不可放在下面。
◎ 注释的内容要清楚明了,防止注释二义性。
◎ 修改代码时同步更新注释,保证注释与代码的一致性。
◎ 函数声明处注释描述函数功能、性能及用法,提供参考范本如下:

/**
 * @brief    函数功能
 * @params 
 * @return
 * @par history
 *   xx create  @2023-xx-xx
 */

微信公众号【嵌入式系统】提示,注释格式可以参考Doxygen标准。

◎ 全局变量要有较详细的注释
◎ 函数内部注释:函数内部不是注释越多越好,而是变量命名和逻辑清晰,自注释最好,特殊情况或者需要特别注意的地方才加注释,并且注释要放在代码行的上方。
◎ 基于SDK开发,在基线工程上改动代码,不允许删除源代码,修改代码必须增加注释,必须使用关键字“XX_CODE”标注修改原因,方便后续打补丁,范例如下:

/**** XX_CODE begin ****/
/*修改原因,作者,时间*/
< 代码块 >
/**** XX_CODE end ****/

对于非c源码的文件,在这个注释格式的基础上,每行添加对应的注释符号。
◎ 修改与外设驱动、通信协议、系统底层等相关的代码,具有特殊隐含限制的代码,必须提交详细的修改原因,便于后续版本回溯查找原因。
◎ 复杂且相对独立的功能,单独使用markdown文档说明开发方案、实现技术、应用场景、使用限制等,随代码提交。

排版与格式

◎ 程序块釆用缩进风格编写,每级缩进为4个空格。
◎ 相对独立的程序块之间、变量说明之后必须加空行。
◎ 多个短语句不允许写在同一行内,长语句不能拆分需要分行写。
◎ if、for、do、while、case、switch、default等语句独占一行,{换行且独占一行。
◎ 赋值语句不要写在if等语句中,或者作为函数的参数使用。
◎ 逻辑表达式每个子项都使用()。
◎ if与else if/else必须以’{}’分隔,且 ‘{’与‘}’各占一行,if-else分3层以上必须以else子句结束,即使操作为空,并增加注释://do nothing

if(var==xx)
{
  …
}
else if (var==yy)
{
  …
}
else if (var==zz)
{
  …
}
else
{
  //do nothing
}

◎ switch语句必须有default分支。
◎ 在两个以上的关键字、变量、常量进行对等操作时,它们之间的操作符之前、之后或者前后要加空格;进行非对等操作时(如->),后面不应加空格。
◎ 文件编写完成后,统一使用Astyle自动格式化工具整理一遍再提交到版本库。

astyle.exe --style=allman -S -U -t -n -K -p -s4 -j -q -Y -xW -xV

微信公众号【 嵌入式系统 】提示,可以参考《代码的保养》;排版格式很多,一个团队最重要的是统一风格。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    4983

    文章

    18297

    浏览量

    288623
  • 编码
    +关注

    关注

    6

    文章

    835

    浏览量

    54458
  • 代码
    +关注

    关注

    30

    文章

    4557

    浏览量

    66822
收藏 人收藏

    评论

    相关推荐

    嵌入式代码规范

    嵌入式代码规范,自我认为很好,共享给大家
    发表于 06-26 13:45

    常见红外遥控器编码与格式

    常见红外遥控器编码与格式
    发表于 11-09 15:05

    嵌入式小波编码算法的原理是什么?

    在基于小波变换的图象压缩方案中,嵌入式零树小波 EZW(Embedded Zerotree Wavelets)[1]编码很好地利用小波系数的特性使得输出的码流具有嵌入特性。近年来,在对EZW改进
    发表于 08-15 08:27

    嵌入式c语言编码规范

    `学习嵌入式的同学应该首先掌握嵌入式编码规范,这样才能更好的嵌入式系统。下面就从这几个方面讲解一下嵌入式
    发表于 10-31 14:50

    嵌入式c语言编码规范

    学习嵌入式的同学应该首先掌握嵌入式编码规范,这样才能更好的嵌入式系统。下面就从这几个方面讲解一下嵌入式
    发表于 11-07 15:17

    嵌入式Linux C代码规范

    本文档为作者 在嵌入式嵌入式 linux C语言的学习和工作中所总结的代码规范 ,是作者从 STM32单片机开发向 Linux C开发的时
    发表于 01-14 10:25

    嵌入式log打印格式输出有哪些技巧?

    嵌入式log打印格式输出技巧Log 信息格式条件编译可变参数宏C标准中一些预定义的宏格式输出16进制数组Log 信息
    发表于 10-28 08:06

    嵌入式开发putty串口打印乱码编码格式问题

    目录嵌入式开发putty串口打印乱码编码格式问题波特率设置错误嵌入式开发putty串口打印乱码在使用putty连接串口打印的时候,发现打印乱码。问题原因可能有两个,一个是
    发表于 11-05 09:10

    嵌入式的含义以及应用

    本次课程,老师主要讲述了“嵌入式”的含义以及应用。老师总结说,嵌入式是在已有的硬件上移植操作系统;在操作系统上做上层应用开发,在操作系统之下做底层开发。按照我的理解来说,嵌入式是对软件
    发表于 11-08 07:07

    嵌入式软件开发中所总结出编程规范经验

    〇、前言代码编程我认为也是一门艺术,优美的代码使人赏心悦目。然而编程规范并没有唯一的行业标准,就像windows和linux的代码各具风格。本文是作者本人在多年嵌入式软件开发中所总结出的一些经验,仅
    发表于 12-15 06:00

    LOOP指令功能与格式总结

    因为嵌入式系统学习需要,开始学习汇编语言学习资料是B站的视频:汇编语言程序设计 贺利坚主讲 (P25)这里写目录标题LOOP功能与格式一、LOOP指令实例二、LOOP指令执行的要求三、用LOOP指令
    发表于 01-17 06:26

    嵌入式C语言进阶之道

    的总结。本文涉及的 知识点多数来自于网络,其中加入我个人理解以及自己平时遇到的注意点。 本文从编程风格谈起,讲述了模块化的编程方法,对一些大型项目中常用重点关键字做 了讲解,参照 MISRA C 2004 规范 ,对
    发表于 04-19 10:15

    印制板(PCB)的排版格式及流程步骤

    印制板(PCB)的排版格式及流程步骤:印制板(PCB)的排版格式及流程步骤内容有元件的安装方式,元件的排列方式,接点的形式,排版
    发表于 09-30 12:30 0次下载

    嵌入式软件之c语言编码规范

    嵌入式软件之c语言编码规范
    发表于 10-28 18:13 28次下载

    嵌入式C语言编码如何注释?在哪儿注释

    看一份源码什么很重要?除了各种代码规范之外,还有一个比较重要的就是注释
    的头像 发表于 08-14 18:25 878次阅读
    <b class='flag-5'>嵌入式</b>C语言<b class='flag-5'>编码</b>如何<b class='flag-5'>注释</b>?在哪儿<b class='flag-5'>注释</b>?