华为C语言编程规范--变量、结构

本文介绍了华为C语言编程中的变量和结构设计规范,包括减少公共变量以降低耦合,明确变量含义和关系,防止未初始化变量使用,避免复杂的结构关系,以及合理进行数据类型转换和自定义数据类型的命名,旨在提高代码的可读性、稳定性和可维护性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

5-1:去掉没必要的公共变量。

说明:公共变量是增大模块间耦合的原因之一,故应减少没必要的公共变量以降低模块间的耦合度。

5-2:仔细定义并明确公共变量的含义、作用、取值范围及公共变量间的关系。

说明:在对变量声明的同时,应对其含义、作用及取值范围进行注释说明,同时若有必要还应说明与其它变量的关系。

5-3:明确公共变量与操作此公共变量的函数或过程的关系,如访问、修改及创建等。

说明:明确过程操作变量的关系后,将有利于程序的进一步优化、单元测试、系统联调以及代码维护等。这种关系的说明可在注释或文档中描述。

示例:在源文件中,可按如下注释形式说明。
RELATION System_Init Input_Rec Print_Rec Stat_Score Student Create Modify Access Access Score Create Modify Access Access, Modify

注:RELATION 为操作关系;System_Init、Input_Rec、Print_Rec、Stat_Score 为四个不同的函数;Student、Score 为两个全局变量;Create 表示创建,Modify 表示修改,Access 表示访
问。其中,函数Input_Rec、Stat_Score 都可修改变量Score,故此变量将引起函数间较大的耦合,并可能增加代码测试、维护的难度。


5-4:当向公共变量传递数据时,要十分小心,防止赋与不合理的值或越界等现象发生。

说明:对公共变量赋值时,若有必要应进行合法性检查,以提高代码的可靠性、稳定性。

5-5:防止局部变量与公共变量同名。

说明:若使用了较好的命名规则,那么此问题可自动消除。

5-6:严禁使用未经初始化的变量作为右值。

说明:特别是在C/C++中引用未经赋值的指针,经常会引起系统崩溃。

5-7:结构的功能要单一,是针对一种事务的抽象。

说明:设计结构时应力争使结构代表一种现实事务的抽象,而不是同时代表多种。结构中的各元素应代表同一事务的不同侧面,而不应把描述没有关系或关系很弱的不同事务的元素放到同一结构中。

示例:如下结构不太清晰、合理。
typedef struct STUDENT_STRU
{
unsigned char name[8]; /* student's name */
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值