C语言编程规范【标识符命名与定义】

C语言编程规范-【3 标识符命名与定义】

@(我的第一个笔记本)

– 2020.3.5/10:49 –【摘自华为】

3.1 通用命名规则
  • **unix like风格:**单词用小写字母,每个单词直接用下划线’'_"分割,例如text_mutexkernel_text_address
  • **Windows风格:**大小写字母混用,单词连在一起,每个单词首字母大写。

原则3.1 标识符的命名要清晰、明了,有明确含义,同时使用完整的单词或大家基本可以理解的缩写,避免使人产生误解。
说明:尽可能给出描述性名称,不要节约空间,让别人很快理解你的代码更重要。

原则3.2 除了常见的通用缩写以外,不使用单词缩写,不得使用汉语拼音。
一些单词有大家公认的缩写,常用单词的缩写必须统一。

示例:一些常见可以缩写的例子:
argument 可缩写为 arg
buffer 可缩写为 buff
clock 可缩写为 clk
command 可缩写为 cmd
compare 可缩写为 cmp
configuration 可缩写为 cfg
device 可缩写为 dev
error 可缩写为 err
hexadecimal 可缩写为 hex
increment 可缩写为 inc
initialize 可缩写为 init
maximum 可缩写为 max
message 可缩写为 msg
minimum 可缩写为 min
parameter 可缩写为 para
previous 可缩写为 prev
register 可缩写为 reg
semaphore 可缩写为 sem
statistic 可缩写为 stat
synchronize 可缩写为 sync
temp 可缩写为 tmp

规则3.1 产品/项目组内部应保持统一的命名风格。

建议3.1 用正确的反义词组命名具有互斥意义的变量或相反动作的函数等。

示例:
add/remove,begin/end,create/destroy
insert/delete, first/last, get/release
increment/decrement,put/get,add/delete
lock/unlock, open/close,min/max
old/new,start/stop,next/previous
source/target, show/hide, send/receive
source/destination,copy/paste,up/down

建议3.2 尽量避免名字中出现数字编号,除非逻辑上的确需要编号。

建议3.3 标识符前不应添加模块、项目、产品、部门的名称作为前缀。

建议3.4 平台/驱动等适配代码的标识符命名风格保持和平台/驱动一致。

建议3.5 重构/修改部分代码时,应保持和原有代码的命名风格一致。

3.2 文件命名规则

建议3.6 文件命名统一采用小写字符。

Google说:
文件名要全部小写,可以包含下划线( _)或短线( -),按项目约定来。
可接受的文件命名:
my_useful_class.c
my-useful-class.c
myusefulclass.c

Google还说:
类型命名每个单词以大写字母开头,不包含下划线: MyExcitingClassMyExcitingEnum
所有类型命名——类、结构体、类型定义( typedef)、枚举——使用相同约定,例如:

// classes and structs
class UrlTable { ...
class UrlTableTester { ...
struct UrlTableProperties { ...
// typedefs
typedef hash_map<UrlTableProperties *, string> PropertiesMap;
// enums
enum UrlTableErrors { ...
3.3 变量命名规则

规则3.2 全局变量应增加“g_”前缀。

规则3.3 静态变量应增加“s_”前缀。

规则3.4 禁止使用单字节命名变量,但允许定义i、 j、 k作为局部循环变量。

变量名一律小写,单词间以下划线相连,类的成员变量以下划线结尾,如
my_exciting_local_variablemy_exciting_member_variable_

Google还说:

建议3.7 不建议使用匈牙利命名法。

建议3.8 使用名词或者形容词+名词方式命名变量。

3.4 函数命名规则

建议3.9 函数命名应以函数要执行的动作命名,一般采用动词或者动词+名词的结构。

建议3.10 函数指针除了前缀,其他按照函数的命名规则命名。

3.5 宏的命名规则

规则3.5 对于数值或者字符串等等常量的定义,建议采用全大写字母,单词之间加下划线"_‟的方式命名(枚举同样建议使用此方式定义)。

规则3.6 除了头文件或编译开关等特殊标识定义,宏定义不能使用下划线"_"开头和结尾。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cbc-shuchang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值