### 华为编程规范知识点详解 #### 一、排版规范 华为的编程规范非常重视代码的排版,这是为了确保代码的清晰性和可读性。以下是对文档中提到的一些关键排版规则的详细解释: 1. **程序块缩进**(¹1-1): - 规则说明:程序块应当采用缩进风格编写,每一级缩进使用4个空格。 - 示例不符合规范: ```c if(!valid_ni(ni)) { //programcode } repssn_ind = ssn_data[index].repssn_index; repssn_ni = ssn_data[index].ni; ``` - 正确示范: ```c if (!valid_ni(ni)) { // programcode } repssn_ind = ssn_data[index].repssn_index; repssn_ni = ssn_data[index].ni; ``` 2. **程序块之间的空行**(¹1-2): - 规则说明:相对独立的程序块之间、变量声明之后必须加空行。 - 示例不符合规范: ```c if(!valid_ni(ni)) { //programcode } repssn_ind = ssn_data[index].repssn_index; repssn_ni = ssn_data[index].ni; ``` - 正确示范: ```c if (!valid_ni(ni)) { // programcode } repssn_ind = ssn_data[index].repssn_index; repssn_ni = ssn_data[index].ni; ``` 3. **长语句的拆分**(¹1-3): - 规则说明:如果语句长度超过80个字符,应当在低优先级操作符处将语句拆分为多行,并将操作符置于新行开头。 - 示例不符合规范: ```c 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)); ``` - 正确示范: ```c 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)); ``` 4. **长表达式的拆分**(¹1-4): - 规则说明:循环、判断等语句中若有较长的表达式,则需在低优先级操作符处进行适当的划分。 - 示例不符合规范: ```c if ((taskno < max_act_task_number) && (n7stat_stat_item_valid(stat_item))) { // programcode } for (i = 0, j = 0; (i < BufferKeyword[word_index].word_length) && (j < NewKeyword.word_length); i++, j++) { // programcode } ``` - 正确示范: ```c if ((taskno < max_act_task_number) && (n7stat_stat_item_valid(stat_item))) { // programcode } for (i = 0, j = 0; (i < BufferKeyword[word_index].word_length) && (j < NewKeyword.word_length); i++, j++) { // programcode } ``` 5. **函数参数的拆分**(¹1-5): - 规则说明:如果函数调用中的参数过长,则需要适当拆分。 - 示例不符合规范: ```c n7stat_str_compare((BYTE*) &stat_object, (BYTE*) &(act_task_table[taskno].stat_object), sizeof(_STAT_OBJECT)); ``` - 正确示范: ```c n7stat_str_compare((BYTE*) &stat_object, (BYTE*) &(act_task_table[taskno].stat_object), sizeof(_STAT_OBJECT)); ``` 6. **单行语句**(¹1-6): - 规则说明:每个语句都应单独占据一行。 - 示例不符合规范: ```c rect.length = 0; rect.width = 0; ``` - 正确示范: ```c rect.length = 0; rect.width = 0; ``` 7. **控制语句格式**(¹1-7): - 规则说明:`if`、`for`、`do`、`while`、`case`、`switch`、`default`等语句自占一行,其后的执行语句无论长度如何都必须加括号 `{}`。 - 示例不符合规范: ```c if (pUserCR == NULL) return; ``` - 正确示范: ```c if (pUserCR == NULL) { return; } ``` 8. **后续规范待续**(¹1-8): - 规则说明:文档中未给出具体规范,但可以推测该部分继续讲解关于排版的其他规范。 以上是华为编程规范中关于排版方面的主要规定。这些规范旨在提高代码的可读性和可维护性,确保代码的一致性和标准化。遵循这些规范有助于减少错误的发生,提高团队协作效率。
2025-07-04 20:32:54 264KB 编程规范
1
根据哥伦比亚、秘鲁和墨西哥个体的饮食习惯和身体状况估计肥胖水平数据集,依据频繁食用高热量食物(FAVC)、食用蔬菜频率(FCVC)、主餐数量(NCP)、两餐之间的食物消耗量(CAEC)、每日饮水量 (CH20)等数据特征,预测人群的肥胖水平(Obesity Prediction),肥胖水平分为7类,分别为体重不足、正常体重、超重I级、超重II级、肥胖I型、肥胖II型和III型肥胖。 利用决策树进行分析预测,内附数据集、源代码、实验分析报告以及可视化结果
2025-05-12 07:44:17 2.54MB 机器学习
1
java毕设 青少年时期是习惯养成的关键期。如何辅助个人养成一个良好的习惯成为了 一个重要的问题。本文设计、实现一个个人习惯监测软件,通过该软件,青少年 可以简单方便的培养自己的生活习惯、学习习惯、运动习惯以及等等。 本课题的设计与实现主要基于 Flutter、Spring Boot、Docker 三大技术设计、 开发与部署。结合市场现状,分析需求、并进行了详细的界面设计与功能实现。 在功能方面,除了核心的监测记录功能外还实现了主题、国际化、社区、商 城、数据同步等功能。其中社区功能应用了综合激励模型,用户记录数据可获得 奖励,奖励可用于排名与商城使用。 在技术方面本设计有两大创新点:一是设计并实现了一套基于 Flutter 的解 耦方案,在 Flutter 应用开发中利用自定义状态管理拆分了业务逻辑与 UI 界面, 提升了运行效率、缩短了开发周期、提升了代码的复用率;二是设计并实现了一 个简单的基于 Flutter 的 ORM 框架,提高了对移动端数据库 IO 的便捷度。 本文详细描述了个人习惯监测软件的设计与开发过程,包括需求分析、架构 设计、系统设计与实现。并通过测试和部署最终
2024-03-08 22:25:34 2.79MB 移动开发 springboot Flutter 源码
1
1. 动手编码之前,你需要对要编码实现的解决方案有一个正式的或粗略的设计。永远不要在没有任何设计的前提下就开始编码,除非所编代码不重要。 2. 优秀的代码文档跟编程语言知识一样重要。在代码源文件中,为每个主要的代码段添加注释,解释代码的基本逻辑。最好注明程序的构建和修改日期,以及修改的原因也是非常有必要的。 3. 维护程序的各个版本同样重要。当前有些编程工具都自带一个版本管理工具。无论你什么时候改变自己的程序,它们都会将其保存为.bak文件。 我的方法是为每个程序维护三个不同的版本。比如说,我有一个名为program.c的文件,这个文件同时也被其他项目组成员使用。我把这个文件复制为 program.c.old作为备份文件,并且当我修改时,我会备份另一个名为program.c.wrk的副本文件。当成功完成修改时替换 program.c.wrk文件。 你还可以给自己的程序版本添加一个日期或一些注释,像program260505.c或programReadFnWrking.c。 4. 如果工程包含多个源文件,则生成一个README文件,注明每个源文件、数据文件、临时文件以及日志文件
2024-01-17 18:20:44 69KB 软件开发 程序设计
1
全面了解HIBERNATE
2023-11-06 07:02:17 206KB hibernate教程
1
高效能人士的七个习惯(25周年纪念版) 作 者: 〔美〕史蒂芬·柯维(Stephen R. Covey) 译 者:高新勇 王亦兵 葛雪蕾
2023-02-28 21:44:15 17.55MB 高效能人士
1
扫描版《高效能人士的7个习惯》,书本本身无需多言,物美价廉,你值得拥有!
2022-12-12 09:37:14 4.03MB 高效能人士
1
作者在书中提出“全面成功才是真正成功”的新思想。书中列举了达到“全面成功”的七大准则,而其中的本质就是人类“从依赖到独立,又从独立到互赖”的心灵成长历程。这本书告诉我们,走向全面成功需要具备怎样的信念(或基础)。诸如: 亟须重新探索自我,培养从依赖、独立到互赖的人际关系。 光是事业成功只能算是成功了一半,惟有兼顾事业、家庭、人际关系、个人成长等人生其他层面的圆融和谐,才是真正的成功。  书中的好多原则,与在中国国内目前如火如茶的“卡耐基训练”的某些原则正相吻合。例如: 不该为他人的想法或喜好而活。 人与人之间应该尊重彼此的不同点。 人际关系不是摆布他人的花招。人与人相处可以是对二人皆有益处的状况,也就是双赢(win—win),而非输赢的关系。 应从他人的角度来了解事情原委(这一点写得最精采),愈有自信的人愈承认与尊重他人的存在。 人是习惯性的动物。人都想有所改进,也就是跟以前不一样。由于习惯的牵制,有时实在非常困难。然而,只要坚持原则,采取行动(了解与同意还不够),一定可以改变。  要想成为一个高效能的成功人士,柯维认为:这是一个循序渐进的过程,必须对自身进行全方位的重塑。他强调,只有养成职业上的七种习惯,才能实现本质的改变。这“七种习惯”就是:
2022-12-04 15:37:36 122KB 效能 习惯
1
SleepTracker CIS 573 Project Fall 2013 Michael Collis Dominique Lee Lanlan Pang Yifeng Zhu
2022-12-02 16:41:14 11.83MB Java
1
药检仪器使用技术
2022-11-02 19:05:55 351KB