C语言编程规范--------6 函数与过程

6.1 函数的功能与规模设计

函数应当短而精美,而且只做一件事。不要设计多用途面面俱到的函数,多功能集于一身的函数,很可能使函数的理解、测试、维护等变得困难。

6.2 函数的返回值

(1)对于函数的返回位置,尽量保持单一性,即一个函数尽量做到只有一个返回位置。(单入口单出口)。

要求大家统一函数的返回值,所有的函数的返回值都将以编码的方式返回。

例如编码定义如下:

#define CM_POINT_IS_NULL CMMAKEHR(0X200)

:

:

参考函数实现如下:

LONG 函数名(参数,……)

{

LONG lResult; //保持错误号

lResult=CM_OK;

//如果参数有错误则返回错误号

if(参数==NULL)

{

lResult=CM_POINT_IS_NULL;

goto END;

}

……

END:

return lResult;

}

调用者对所调用函数的错误返回码要仔细、全面地处理

6.3 变量的使用

当你确实需要时才用全局变量,函数间应尽可能使用参数、返回值传递消息。

6.4 函数参数

在同一项目组应明确规定对接口函数参数的合法性检查

(1)防止将函数的参数作为工作变量。将函数的参数作为工作变量,有可能错误地改变参数内容,所以很危险。对必须改变的参数,最好先用局部变量代之,最后再将该局部变量的内容赋给该参数。

(2)避免设计多参数函数,不使用的参数从接口中去掉,目的减少函数间接口的复杂度。

时间: 2024-11-01 18:00:29

C语言编程规范--------6 函数与过程的相关文章

C语言编程规范

C语言编程规范 6 函数与过程 6.1 函数的功能与规模设计 函数应当短而精美,而且只做一件事.不要设计多用途面面俱到的函数,多功能集于一身的函数,很可能使函数的理解.测试.维护等变得困难. 6.2 函数的返回值 (1)对于函数的返回位置,尽量保持单一性,即一个函数尽量做到只有一个返回位置.(单入口单出口). 要求大家统一函数的返回值,所有的函数的返回值都将以编码的方式返回. 例如编码定义如下: #define CM_POINT_IS_NULL CMMAKEHR(0X200) : : 参考函数实

华为C语言编程规范

DKBA华为技术有限公司内部技术规范DKBA 2826-2011.5C语言编程规范2011年5月9日发布 2011年5月9日实施华为技术有限公司Huawei Technologies Co., Ltd.版权所有 侵权必究All rights reserved密级:confidentiality levelDKBA 2826-2011.52011-06-02 华为机密,未经许可不得扩散 Huawei Confidential 第2页,共61页Page 2 , Total61修订声明Revision

Golang语言编程规范

Golang语言编程规范 一.说明 编程规范好,可避免语言陷阱,可有利团队协作,有利项目维护. 正常的Go编程规范有两种:编译器强制的(必须的),gofmt格式化非强制的(非必须). Go宣告支持驼峰命名法,排斥下划线法. 自定义原则: a.统一工作区间,避免目录及文件名随意 b.规范变量/结构体/方法及接口名 c.规范注释 d.单元测试/程序效率等建议 两个等级: (S)建议,(M)必须.以下是细节. 二.代码组织结构 (M)一个目录只包含一个包,模块复杂拆分子模块/子目录 (S)内部项目GO

Windows客户端C/C++编程规范“建议”——函数

1 函数 1.1 代码行数控制在80行及以内 等级:[要求] 说明:每个函数的代码行数控制应该控制在80行以内.如果超过这个限制函数内部逻辑一般可以拆分.如果试图超过这个标准,请列出理由.但理由不包含如下: 无法拆分. 流程内部逻辑复杂,无需拆分,即使拆分了,拆分的函数也不会被其他地方用到.(解释:拆分可以减少代码行数,提炼后的函数可以方便读者快速理解函数逻辑并定位问题.) 1.2 代码列数控制在100字符及以内 等级:[要求] 说明:每行代码不可以超过100字符.如果超过这个字符数,代码的美观

C语言编程规范—命名规则

转载自:http://www.cnblogs.com/wfwenchao/p/5209197.html C是一门朴素的语言,你使用的命名也应该这样.与Modula-2和Pascal程序员不同,C程序员不使用诸如"ThisVariableIsATemporaryCounter"这样"聪明"的名字.C程序员应该叫它"tmp",这写起来更简单,也不会更难懂.然而,当面对复杂情况时就有些棘手,给全局变量取一个描述性的名字是必要的.把一个全局函数叫做&qu

C语言编程规范试题(标准答案)

一.单选题(每小题3分,共20小题60分) 1.1-1.5    B D A C B                1.6-1.10    C A D B C 1.11-1.15  A D D C B                1.16-1.20   D A B C A 二.填空题(每空1分,共20空20分) 2.1 通常在设计函数的时候,函数之间要低 耦合 ,函数内部要高 内聚 ,函数之间调用关系要 高 扇入. 合理 扇出. 2.2 为了提高代码的效率,通常要求循环体内工作量 最小化 ,把

C语言编程规范--------2 注释

2.1 注释的原则 注释的目的是解释代码的目的.功能和采用的方法,提供代码以外的信息,帮助读者理解代码,防止没必要的重复注释信息. 示例:如下注释意义不大. /* if receive_flag is TRUE */ if (receive_flag) 而如下的注释则给出了额外有用的信息. /* if mtp receive a message from links */ if (receive_flag) 2.2 说明性文件头部应进行注释 说明性文件(如头文件.h 文件..inc 文件..de

C语言编程规范概要

编程规范概要 1. 程序结构清析,简单易懂,单个函数的程序行数不得超过100行. 2. 打算干什么,要简单,直截了当,代码精简,避免垃圾程序. 3. 尽量使用标准库函数和公共函数. 4. 不要随意定义全局变量,尽量使用局部变量. 5. 使用括号以避免二义性. 可读性要求 1.可读性第一,效率第二. 2.保持注释与代码完全一致. 3.每个源程序文件,都有文件头说明,说明规格见规范. 4.每个函数,都有函数头说明,说明规格见规范. 5.主要变量(结构.联合.类或对象)定义或引用时,注释能反映其含义.

C语言编程之--scanf()函数与getchar()函数搭配来理解C程序的输入缓存(buffer)

博主最近在学习C语言编程,在书中的代码示例中出现了下面的代码段: #include<stdio.h> int main() { char a[5]; int i; printf("请依次输入值:\n"); for(i=0;i<5;i++) { scanf("%c",&a[i]); getchar(); //为什么要加一个getchar()? } printf("\n"); for(i=0;i<5;i++) { pr