C语言变量的命名规则都有哪些


Posted in 面试题 onDecember 27, 2013
一般规则:
【规则1-1】命名应当直观且可以拼读,可望文知意,便于记忆和阅读。
标识符最好采用英文单词或其组合,不允许使用拼音。程序中的英文单词一般不要太复杂,用词应当准确。
【规则1-2】命名的长度应当符合“min-length && max-information”原则。
C 是一种简洁的语言, 命名也应该是简洁的。例如变量名MaxVal 就比MaxValueUntilOverflow 好用。标识符的长度一般不要过长,较长的单词可通过去掉“元音”形成缩写。
另外,英文词尽量不缩写,特别是非常用专业名词,如果有缩写,在同一系统中对同一单词必须使用相同的表示法,并且注明其意思。
【规则1-3】当标识符由多个词组成时,每个词的第一个字母大写,其余全部小写。比如:int CurrentVal;这样的名字看起来比较清晰,远比一长串字符好得多。
【规则1-4】尽量避免名字中出现数字编号,如Value1,Value2 等,除非逻辑上的确需要编号。比如驱动开发时为管脚命名,非编号名字反而不好。
初学者总是喜欢用带编号的变量名或函数名,这样子看上去很简单方便,但其实是一颗颗定时炸弹。这个习惯初学者一定要改过来。
【规则1-5】对在多个文件之间共同使用的全局变量或函数要加范围限定符(建议使用模块名(缩写)作为范围限定符)。(GUI_ ,etc)
标识符的命名规则:
【规则1-6】标识符名分为两部分:规范标识符前缀(后缀) + 含义标识。非全局变量可以不用使用范围限定符前缀。

Tags in this post...

面试题 相关文章推荐
使用useBean标志初始化BEAN时如何接受初始化参数
Feb 11 面试题
C++如何引用一个已经定义过的全局变量
Aug 25 面试题
浙大网新C/C++面试解惑
May 27 面试题
某IT外企面试题-二分法求方程!看看大家的C++功底
Jul 04 面试题
C++是不是类型安全的
Feb 18 面试题
Oracle性能调优原则
May 03 面试题
什么是SQL Server的确定性函数和不确定性函数
Aug 04 面试题
Discard Protocol抛弃协议的作用是什么
Oct 10 面试题
介绍一下Mysql的存储引擎
Feb 12 面试题
怎样在 Applet 中建立自己的菜单(MenuBar/Menu)?
Jun 20 面试题
shell程序如何生命变量?shell变量是弱变量吗?
Nov 10 面试题
北京捷通华声语音技术有限公司Java软件工程师笔试题
Apr 10 面试题
八皇后问题,输出了所有情况,不过有些结果只是旋转了90度
Aug 15 #面试题
请编写一个 C 函数,该函数在给定的内存区域搜索给定的字符,并返回该字符所在位置索引值
Sep 15 #面试题
大整数数相乘的问题
Jul 22 #面试题
C语言编程题
Mar 09 #面试题
求最大连续递增数字串(如"ads3sl456789DF3456ld345AA"中的"456789")
Sep 11 #面试题
请写一个C函数,若处理器是Big_endian的,则返回0;若是Little_endian的,则返回1
Jul 16 #面试题
一套带答案的C++笔试题
Jan 10 #面试题
You might like
mysql 字段类型说明
2007/04/27 PHP
PHP三种方式实现链式操作详解
2017/01/21 PHP
php使用redis的有序集合zset实现延迟队列应用示例
2020/02/20 PHP
广告显示判断
2006/08/31 Javascript
利用javascript移动div层-javascript 拖动层
2009/03/22 Javascript
js 一个关于图片onload加载的事
2013/11/10 Javascript
JS遍历Json字符串中键值对先转成JSON对象再遍历
2014/08/15 Javascript
实例解析JS布尔对象的toString()方法和valueOf()方法
2015/10/25 Javascript
JavaScript中文件上传API详解
2016/04/01 Javascript
Angularjs的ng-repeat中去除重复数据的方法
2016/08/05 Javascript
JavaScript中利用for循环遍历数组
2017/01/15 Javascript
javascript 正则表达式分组、断言详解
2017/04/20 Javascript
使用JavaScript实现点击循环切换图片效果
2017/09/03 Javascript
微信小程序实现团购或秒杀批量倒计时
2020/11/01 Javascript
layui输入框中只允许输入整数的实现方法
2019/09/18 Javascript
小程序组件传值和引入sass的方法(使用vant Weapp组件库)
2020/11/24 Javascript
[25:59]Newbee vs TNC 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python自然语言编码转换模块codecs介绍
2015/04/08 Python
Python判断Abundant Number的方法
2015/06/15 Python
Python多项式回归的实现方法
2019/03/11 Python
通过python实现随机交换礼物程序详解
2019/07/10 Python
python获取指定日期范围内的每一天,每个月,每季度的方法
2019/08/08 Python
如何基于python生成list的所有的子集
2019/11/11 Python
彻底搞懂 python 中文乱码问题(深入分析)
2020/02/28 Python
实现ECharts双Y轴左右刻度线一致的例子
2020/05/16 Python
爱尔兰电脑、家电和家具购物网站:Buy It Direct
2019/07/09 全球购物
C语言开发工程师测试题
2016/12/20 面试题
vue实现倒计时功能
2021/03/24 Vue.js
主持人婚宴答谢词
2014/01/28 职场文书
公司年会搞笑主持词
2014/03/24 职场文书
2015新学期家长寄语
2015/02/26 职场文书
市场营销计划书
2019/04/24 职场文书
Django drf请求模块源码解析
2021/06/08 Python
python编程学习使用管道Pipe编写优化代码
2021/11/20 Python
MySQL transaction事务安全示例讲解
2022/06/21 MySQL
SpringBoot项目多数据源及mybatis 驼峰失效的问题解决方法
2022/07/07 Java/Android