立即注册
查看: 1193|回复: 11

[转载] 华为C语言编程规范和范例介绍

已绑定手机
发表于 2021-5-28 09:58:05 | 显示全部楼层 |阅读模式 来自 广东省深圳市
1、排版
1-1:程序块要采用缩进风格编写,缩进的空格数为4个。
说明:对于由开发工具自动生成的代码可以有不一致。

1-2:相对独立的程序块之间、变量说明之后必须加空行。
示例:如下例子不符合规范。
if (!valid_ni(ni))
{
... // program code
}
repssn_ind = ssn_data[index].repssn_index;
repssn_ni = ssn_data[index].ni;
应如下书写
if (!valid_ni(ni))
{
... // program code
}
repssn_ind = ssn_data[index].repssn_index;
repssn_ni = ssn_data[index].ni;

1-3:较长的语句(>80字符)要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读。
示例:
perm_count_msg.head.len = NO7_TO_STAT_PERM_COUNT_LEN
+ STAT_SIZE_PER_FRAM * sizeof( _UL );
act_task_table[frame_id * STAT_TASK_CHECK_NUMBER + index].occupied
= stat_poi[index].occupied;
act_task_table[taskno].duration_true_or_false
= SYS_get_sccp_statistic_state( stat_item );
report_or_not_flag = ((taskno < MAX_ACT_TASK_NUMBER)
&& (n7stat_stat_item_valid (stat_item))
&& (act_task_table[taskno].result_data != 0));

1-4:循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分,长表达式要在低优先级操作符处划分新行,操作符放在新行之首。
示例:
if ((taskno < max_act_task_number)
&& (n7stat_stat_item_valid (stat_item)))
{
... // program code
}
for (i = 0, j = 0; (i < BufferKeyword[word_index].word_length)
&& (j < NewKeyword.word_length); i++, j++)
{
... // program code
}
for (i = 0, j = 0;
(i<first_word_length) && (j <second_word_length);
i++, j++)
{
... // program code
}

1-5:若函数或过程中的参数较长,则要进行适当的划分。
示例:
n7stat_str_compare((BYTE *) & stat_object,
(BYTE *) & (act_task_table[taskno].stat_object),
sizeof (_STAT_OBJECT));
n7stat_flash_act_duration( stat_item, frame_id *STAT_TASK_CHECK_NUMBER+ index, stat_object );


更多内容请下载附件查看
游客,如果您要查看本帖隐藏内容请回复

  • 一牛网商城 一牛网直播
发表于 2021-11-2 21:09:22 | 显示全部楼层 来自 广东省深圳市宝安区
谢谢楼主分享谢谢楼主分享
已绑定手机
发表于 2022-10-10 14:42:30 | 显示全部楼层 来自 广东省深圳市
12345678910
已绑定手机
发表于 2023-3-15 08:50:47 | 显示全部楼层 来自 广东省深圳市
想学习了,谢谢
已绑定手机
发表于 2023-3-16 08:44:52 | 显示全部楼层 来自 广东省深圳市
谢谢楼主分享
已绑定手机
发表于 2023-4-21 11:35:58 | 显示全部楼层 来自 河北省石家庄市
谢谢楼主分享谢谢楼主分享
已绑定手机
发表于 2023-5-9 17:11:19 | 显示全部楼层 来自 广东省深圳市

谢谢楼主分享谢谢楼主分享
已绑定手机
发表于 2023-8-2 11:39:52 | 显示全部楼层 来自 广东省深圳市
多谢分享!
已绑定手机
已实名认证
发表于 2023-8-10 14:42:54 | 显示全部楼层 来自 福建省厦门市
谢谢资料分享
已绑定手机
发表于 2023-10-13 08:44:29 | 显示全部楼层 来自 广东省深圳市罗湖区
感谢分享
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

合作/建议

TEL: 19168984579

工作时间:
周一到周五 9:00-11:30 13:30-19:30
  • 扫一扫关注公众号
  • 扫一扫打开小程序
Copyright © 2013-2024 一牛网 版权所有 All Rights Reserved. 帮助中心|隐私声明|联系我们|手机版|粤ICP备13053961号|营业执照|EDI证
在本版发帖搜索
微信客服扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表