ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

【c语言】1.2 代码规范-华为c代码规范

【c语言】1.2 代码规范-华为c代码规范 头文件应该00.放对外部声明01.头文件应当职责单一02.每一个.c文件对应一个同名.h文件用于声明需要对外公开的接口特别简单的直接放.c文件。头文件应当自包含任意一个头文件均可独立编译03.所有头文件都要编写防重复包含#ifndef __INPUT_H__ #define __INPUT_H__ 头文件内容 #endif不应该00.内部使用的函数、宏、枚举、结构定义不放头文件。01.变量定义尽量不放在头文件放.c文件变量是模块或单元的内部实现细节不应该通过头文件中声明的方式直接暴露给外部应通过函数接口的方式进行对外暴露02.必须使用全局变量也只应当在.c中定义全局变量在.h中仅声明变量为全局的。03.不能头文件循环依赖禁止包含用不到的头文件04.禁止在.c中通过extern的方式使用外部函数接口、变量。例如 a.c使用了b.c定义的foo函数则应当在b.c中声明extern int foo(); 并在a.c中通过包含#includeb.h来使用foo。建议00.一个模块包含多个.c文件建议放在同一个目录下目录名即为模块名。为方便外部使用者建议每一个模块提供一个.h文件名为目录名注意这个.h不是简单包含所有内部的.h 它是为了模块使用者的方便对外整体提供的模块接口01.以升序方式排列头文件可避免头文件重复包含02.以稳定性排序建议将不稳定的头文件放在前面函数应该00.一个函数完成一个功能01.重复代码应该尽可能提炼成函数02.函数不要太长嵌套不超过4层 if switch ......)03.可重入函数应避免使用共享变量需要使用则应通过互斥手段关中断、信号量对其加以保护。 重入函数是指被多个任务并发调用的函数共享变量指的是全局变量和static变量。04.对函数参数进行合法性检测05.对函数的错误返回码要全面处理06.设计高扇入合理扇出下于7)的函数 扇出是指一个函数直接调用其它函数的数目扇入是指有多少上级函数调用它07.废弃代码要及时清除08.不变参数声明为const09.函数应该尽量避免使用全局变量、静态局部变量和I/O操作不可避免地地方应集中使用10.c语言中函数地static局部变量是函数内部存储器有可能使函数地功能不可预测11.函数地参数不应超过5个12.标识符unix like风格单词用小写字母每个单词用下划线分开。不要用单词缩写、汉语拼音13.变量命名规则全局变量前加 g_前缀静态变量加 s_ 前缀 很丑陋为了让你少用14.函数命名规则一般以执行的动作命名动词名词15.宏、枚举的命名规则全大写字母用 __ 分开一般来说以_开头结尾的宏都是些内部的定义16.变量只能有一个功能结构体应该功能单一相关的一组信息17.通讯过程中使用的结构必须注意字节序18.首次使用前初始化的变量初始化离使用的地方越近越好19.使用宏时不允许参数发生变化传递给宏的参数20.除非必要尽可能用函数代替宏21.常量建议使用const定义代替宏22.很多函数申请内存要在申请处加上注释说明在何处释放23.将不变的条件移到循环体外24.文件头部应进行注释必须列出版权说明版本号生成日期作者姓名工号内容功能说明与其他文件的关系修改日志等25.相对独立的程序块之间、变量说明之后必须加空行*26.strlen() 处理文件I/O函数读取的内容要小心因为这些内容可能是二进制也可能是文本*27.使用int类型变量来接受字符I/O函数的返回值
返回列表