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

描述

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

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

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

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

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

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

  ◎ 废弃函数要及时清除

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分