没有合适的资源?快使用搜索试试~ 我知道了~
首页华为内部编程规范详解:提升代码质量与维护性
华为内部编程规范详解:提升代码质量与维护性
需积分: 9 5 下载量 111 浏览量
更新于2024-08-02
收藏 308KB PDF 举报
华为内部编程规范是一份由华为内部员工编撰并分享的编程指南,旨在提升开发人员的代码质量与可维护性。这份文档强调了遵循严格的编码规则,以确保团队协作的高效性和代码的一致性。 首先,规范的核心内容之一是代码的排版风格。编程块被建议采用缩进风格,每四个空格作为一级缩进,即使某些自动化工具生成的代码可能略有不一致,但整体上要求一致性。这有助于提高代码的可读性,使开发者能够快速理解代码结构。 其次,规范规定了程序块之间的间距和变量说明后的空白行,提倡清晰的结构划分。例如,作者举例说明了原始代码不符合规范的地方,以及如何通过添加空行和合理缩进来改进,使得代码看起来更整洁且易于阅读。 接着,长的语句和复杂的表达式处理也是规范的重点。推荐将超过80个字符的语句拆分为多行,使用低优先级操作符作为行分隔,并保持新行上的操作符位于开头,同时适当地缩进。这样的做法可以减少一行内的信息量,降低阅读难度。 此外,文档并未提及具体的编程语言,但考虑到华为作为全球领先的科技公司,其内部规范可能适用于多种编程语言,如C/C++、Java等,尤其是那些注重代码规范和性能的语言。 值得注意的是,这份规范并非公开发布的官方文档,而是由个人根据收集到的华为内部规则制作而成,可能存在一定的局限性。然而,对于希望遵循最佳实践的开发者来说,它提供了宝贵的学习资源。作者鼓励读者提出反馈和问题,表明了持续改进和交流的重要性。 华为内部编程规范是一份实用的资源,它强调了代码风格、清晰度和可维护性,对程序员提升编程技巧和团队协作具有积极影响。无论是在华为内部还是外部,遵循这样的规范都能帮助开发者写出更高质量的代码。
资源详情
资源推荐
兰州大学开源社区 http://oss.lzu.edu.cn
#define MAX_ACT_TASK_NUMBER 1000
#define MAX_ACT_TASK_NUMBER 1000 /* active statistic task number */
10 :数据结构声明 ( 包括数组、结构、类、枚举等 ) ,如果其命名不是充分自注释的,必须 加
以注释。 对数据结构的注释应放在其上方相邻位置, 不可放在下面; 对结构中的每个域的 注
释放在此域的右方。
示例:可按如下形式说明枚举 / 数据 / 联合结构。
/* sccp interface with sccp user primitive message name */
enum SCCP_USER_PRIMITIVE
{
N_UNITDATA_IND, /* sccp notify sccp user unit data come */
N_NOTICE_IND, /* sccp notify user the No.7 network can not */
/* transmission this message */
N_UNITDATA_REQ, /* sccp user's unit data transmission request*/
};
11 :全局变量要有较详细的注释,包括对其功能、取值范围、哪些函数或过程存取它以及 存
取时注意事项等的说明。
示例:
/* The ErrorCode when SCCP translate */
/* Global Title failure, as follows */ // 变量作用、含义
/* 0 - SUCCESS 1 - GT Table error */
/* 2 - GT error Others - no use */ // 变量取值范围
/* only function SCCPTranslate() in */
/* this modual can modify it, and other */
/* module can visit it through call */
/* the function GetGTTransErrorCode() */ // 使用方法
BYTE g_GTTranErrorCode;
12 :注释与所描述内容进行同样的缩排。
说明:可使程序排版整齐,并方便注释的阅读与理解。
示例:如下例子,排版不整齐,阅读稍感不方便。
void example_fun( void )
{
/* code one comments */
CodeBlock One
/* code two comments */
CodeBlock Two
}
应改为如下布局。
void example_fun( void )
{
/* code one comments */
CodeBlock One
/* code two comments */
CodeBlock Two
}
13 :将注释与其上面的代码用空行隔开。
示例:如下例子,显得代码过于紧凑。
/* code one comments */
兰州大学开源社区 http://oss.lzu.edu.cn
program code one
/* code two comments */
program code two
应如下书写
/* code one comments */
program code one
/* code two comments */
program code two
14 :对变量的定义和分支语句(条件分支、循环语句等)必须编写注释。
说明: 这些语句往往是程序实现某一特定功能的关键, 对于维护人员来说, 良好的注释帮 助
更好的理解程序,有时甚至优于看设计文档。
15 :对于 switch 语句下的 case 语句,如果因为特殊情况需要处理完一个 case 后进入下一个
case 处理,必须在该 case 语句处理完、下一个 case 语句前加上明确的注释。
说明:这样比较清楚程序编写者的意图,有效防止无故遗漏 break 语句。
示例(注意斜体加粗部分) :
case CMD_UP:
ProcessUp();
break;
case CMD_DOWN:
ProcessDown();
break;
case CMD_FWD:
ProcessFwd();
if (...)
{
...
break;
}
else
{
ProcessCFW_B(); // now jump into case CMD_A
}
case CMD_A:
ProcessA();
break;
case CMD_B:
ProcessB();
break;
case CMD_C:
ProcessC();
break;
case CMD_D:
剩余31页未读,继续阅读
zzh_my
- 粉丝: 3711
- 资源: 44
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 李兴华Java基础教程:从入门到精通
- U盘与硬盘启动安装教程:从菜鸟到专家
- C++面试宝典:动态内存管理与继承解析
- C++ STL源码深度解析:专家级剖析与关键技术
- C/C++调用DOS命令实战指南
- 神经网络补偿的多传感器航迹融合技术
- GIS中的大地坐标系与椭球体解析
- 海思Hi3515 H.264编解码处理器用户手册
- Oracle基础练习题与解答
- 谷歌地球3D建筑筛选新流程详解
- CFO与CIO携手:数据管理与企业增值的战略
- Eclipse IDE基础教程:从入门到精通
- Shell脚本专家宝典:全面学习与资源指南
- Tomcat安装指南:附带JDK配置步骤
- NA3003A电子水准仪数据格式解析与转换研究
- 自动化专业英语词汇精华:必备术语集锦
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功