C语言如何命名标识符

C语言如何命名标识符

今天小编给大家分享一下C语言如何命名标识符的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

1、标识符的命名要清晰、明了,有明确含义,同时使用完整的单词或大家基本可以理解的缩写,避免使人产生误解

C语言如何命名标识符

说明:尽可能给出描述性名称,不要节约空间,让别人很快理解你的代码更重要。

示例:好的命名:

interror_number;

intnumber_of_completed_connection;

不好的命名:使用模糊的缩写或随意的字符:

intn;

intnerr;

intn_comp_conns;

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、产品/项目组内部应保持统一的命名风格

说明:Unix like和windows like风格均有其拥趸,产品应根据自己的部署平台,选择其中一种,并在产品内部保持一致。

例外:即使产品之前使用匈牙利命名法,新代码也不应当使用。

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

示例:

add/removebegin/endcreate/destroy

insert/deletefirst/lastget/release

increment/decrementput/getadd/delete

lock/unlockopen/closemin/max

old/newstart/stopnext/previous

source/targetshow/hidesend/receive

source/destinationcopy/pasteup/down

5、尽量避免名字中出现数字编号,除非逻辑上的确需要编号

示例:如下命名,使人产生疑惑。

#define EXAMPLE_0_TEST_

#define EXAMPLE_1_TEST_

应改为有意义的单词命名

#define EXAMPLE_UNIT_TEST_

#define EXAMPLE_ASSERT_TEST_

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

说明:很多已有代码中已经习惯在文件名中增加模块名,这种写法类似匈牙利命名法,导致文件名不可读,并且带来带来如下问题:

1第一眼看到的是模块名,而不是真正的文件功能,阻碍阅读;

2文件名太长;

3文件名和模块绑定,不利于维护和移植。若foo.c进行重构后,从a模块挪到b模块,若foo.c中有模块名,则需要将文件名从a_module_foo.c改为b_module_foo.c

7、命名规范

7.1文件命名统一采用小写字符

说明:因为不同系统对文件名大小写处理会不同(如MS的DOS、Windows系统不区分大小写,但是Linux系统则区分),所以代码文件命名建议统一采用全小写字母命名。

7.2全局变量应增加“g_”前缀

7.3静态变量应增加“s_”前缀

说明:增加g_前缀或者s_前缀,原因如下:

首先,全局变量十分危险,通过前缀使得全局变量更加醒目,促使开发人员对这些变量的使用更加小心。

其次,从根本上说,应当尽量不使用全局变量,增加g_和s_前缀,会使得全局变量的名字显得很丑陋,从而促使开发人员尽量少使用全局变量。

7.4禁止使用单字节命名变量,但允许定义ijk作为局部循环变量

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

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

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

示例:

#define PI_ROUNDED 3.14

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

说明:一般来说,’_’开头、结尾的宏都是一些内部的定义,ISO/IEC 9899(俗称C99)中有如下的描述(6.10.8 Predefined macro names):

以上就是“C语言如何命名标识符”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注恰卡编程网行业资讯频道。

发布于 2022-04-03 22:37:36
收藏
分享
海报
0 条评论
24
上一篇:c语言如何求出给定范围内的所有质数 下一篇:C语言中如何使用动态数组
目录

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码