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

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

3天内不再提示

嵌入式C编码中函数的规范

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

◎ 一个函数仅完成一件功能

◎ 重复代码应该尽可能提炼成函数。

说明:重复代码提炼成函数可以带来维护成本的降低。重复代码是不良代码最典型的特征之一。在“代码能用就不改”的指导原则之下,新需求增加带来的代码拷贝和修改,随着时间的迁移,产品中堆砌着许多类似或者重复的代码。

◎ 避免递归函数的代码块嵌套过深。

◎ 对函数的错误返回码要全面处理。

说明:一个函数(标准库中的函数/第三方库函数/用户定义的函数)能够提供一些指示错误发生的方法,可以通过使用错误标记、特殊的返回数据或者其他手段,调用程序应该在函数返回时立刻检查错误指示。

◎ 废弃函数要及时清除

说明:程序中的废弃代码不仅占用额外的空间,而且还常常影响程序的功能与性能,很可能给程序的测试、维护等造成不必要的麻烦。

◎ 函数传入的不变参数使用const限制。

◎ 函数的参数个数不超过5个,检查输入参数的有效性。

说明:函数的参数过多,会使得该函数易于受外部(其他部分的代码)变化的影响,从而影响维护工作。函数的参数过多同时也会增大测试的工作量。函数的参数个数不要超过5个,如果超过了建议拆分为不同函数;函数的输入主要有两种:一种是参数输入;另一种是全局变量、数据文件的输入,即非参数输入。函数在使用输入参数之前,应进行有效性检查。

◎ 源文件范围内声明和定义的所有函数,除非外部可见,否则增加static关键字,针对单元测试的特殊情况,对这类函数尽量封装一层再使用。

◎ 传入参数表意有3种以上的禁止使用魔法数,必须使用枚举值且附带注释。

◎ 函数内部要对参数的合法性进行检查。

说明:函数的输入主要有两种:一种是参数输入;另一种是全局变量、数据文件的输入,即非参数输入。函数在使用输入参数之前,应进行有效性检查。

◎ 除打印类函数外,不要使用可变长函数。

说明:可变长参函数的处理过程比较复杂容易引入错误,而且性能也比较低,使用过多的可变长参函数将导致函数的维护难度大大增加。

◎ 每个函数都要返回错误码,调用程序必须在函数返回时检查错误码。

◎ 标识符的命名要清晰明了,有明确含义,使用完整的单词,尽量避免名字中出现数字编号或特殊符号。

◎ 函数名称需体现出函数具体功能,均由功能单词拼接组成,绝不允许出现中文拼音。

◎ 函数命名应以函数要执行的动作命名,一般采用动词或者动词+名词的结构。

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

    关注

    5068

    文章

    19019

    浏览量

    303265
  • 编码
    +关注

    关注

    6

    文章

    935

    浏览量

    54762
  • 函数
    +关注

    关注

    3

    文章

    4306

    浏览量

    62430
  • 代码
    +关注

    关注

    30

    文章

    4748

    浏览量

    68351
收藏 人收藏

    评论

    相关推荐

    嵌入式C语言字符串函数的用法及原型

    嵌入式C语言字符串函数的用法及原型
    发表于 11-22 10:24 602次阅读

    嵌入式c语言编码规范

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

    嵌入式c语言编码规范

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

    嵌入式Linux C代码规范

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

    基于Chirp函数的Nios Ⅱ嵌入式实现

    分析Chirp函数在频域上的一般特性,提出利用FPGA的嵌入式软核NiosⅡ处理器在嵌入式操作系统μC/OS-Ⅱ上实现Chirp的方法
    发表于 06-15 11:02 1147次阅读
    基于Chirp<b class='flag-5'>函数</b>的Nios Ⅱ<b class='flag-5'>嵌入式</b>实现

    嵌入式C编程

    嵌入式C编程,非常有用的资料,介绍嵌入式C语言编程
    发表于 12-29 17:29 0次下载

    嵌入式系统的规范发展回顾

    后PC时代,嵌入式系统的发展风起云涌,波澜壮阔。在这一历史洪流,众多的嵌入式系统规范争奇斗艳,各种嵌入式板卡令人眼花缭乱。伴随着极大量标准
    发表于 02-14 14:00 1639次阅读

    嵌入式代码之编写规范

    嵌入式代码编码规范,用于规范自己的代码,增强可读性,非标准规范。最好能强制自己形成良好的编码风格
    的头像 发表于 04-26 15:21 5244次阅读

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

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

    C嵌入式编程设计模式

    C嵌入式编程设计模式1 嵌入式系统有何特殊之处 11 嵌入式设计的约束 12 嵌入式工具 13 OSRTOS还是没有操作系统 14
    发表于 11-03 15:36 17次下载
    <b class='flag-5'>C</b><b class='flag-5'>嵌入式</b>编程设计模式

    嵌入式C++编程

    特点展示如何使用 C ++ 来构建利用可用硬件资源的强大并发系统。从嵌入式编程入门和 C ++ 17 的最新特性开始,带您了解优秀编程的各个方面您将学习如何使用 C ++ 的并发性、内
    发表于 11-04 10:36 10次下载
    <b class='flag-5'>嵌入式</b><b class='flag-5'>C</b>++编程

    嵌入式软件的延时函数

    延时函数嵌入式软件开发必不可少的功能函数,在每个工程里都能找到它的踪影。虽然看起来不起眼,但在有些时序控制的场合,使用了一点点delay,往往能解决大问题。下面描述一下delay
    发表于 11-24 19:21 19次下载
    <b class='flag-5'>嵌入式</b>软件<b class='flag-5'>中</b>的延时<b class='flag-5'>函数</b>

    嵌入式系统函数如何调用

    嵌入式系统,一个函数调用时,它的内部机理是什么,执行了哪些步骤?如图1所示,先看 看 一个程序在运行时,它的内存分布状况。
    的头像 发表于 02-13 14:15 1044次阅读
    <b class='flag-5'>嵌入式</b>系统<b class='flag-5'>中</b><b class='flag-5'>函数</b>如何调用

    嵌入式C语言的结构特点

    嵌入式开发既有底层硬件的开发又涉及上层应用的开发,即涉及系统的硬件和软件,C语言既具有汇编语言操作底层的优势,又具有高级语言功能性强的特点,当之无愧地成为嵌入式开发的主流语言。在 S
    的头像 发表于 11-24 16:16 644次阅读
    <b class='flag-5'>嵌入式</b><b class='flag-5'>C</b>语言的结构特点

    嵌入式open函数的使用

    嵌入式系统是指嵌入到其他设备或系统,用于控制和管理硬件资源的计算机系统。在嵌入式系统,通常需要与外部设备进行数据交互,例如读取传感器数据
    的头像 发表于 01-04 15:51 627次阅读