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...

面试题 相关文章推荐
请用用Java代码写一个堆栈
Jan 26 面试题
Java里面如何把一个Array数组转换成Collection, List
Jul 26 面试题
C/C++程序员常见面试题一
Dec 08 面试题
JAVA和C++区别都有哪些
Mar 30 面试题
中海讯通笔试题
Sep 15 面试题
用友笔试题目
Oct 25 面试题
Linux开机引导的步骤是什么
Oct 19 面试题
一些Unix笔试题和面试题
Sep 25 面试题
是否可以从一个static方法内部发出对非static方法的调用?
Aug 18 面试题
用JAVA实现一种排序,JAVA类实现序列化的方法(二种)
Apr 23 面试题
什么是servlet
May 08 面试题
如何安装ruby on rails
Feb 09 面试题
八皇后问题,输出了所有情况,不过有些结果只是旋转了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
自动把纯文本转换成Web页面的php代码
2009/08/27 PHP
php打造属于自己的MVC框架
2012/03/07 PHP
解析PHP正则提取或替换img标记属性
2013/06/26 PHP
CodeIgniter模板引擎使用实例
2014/07/15 PHP
PHP防盗链代码实例
2014/08/27 PHP
PHP+MySql+jQuery实现的"顶"和"踩"投票功能
2016/05/21 PHP
PHP数组编码gbk与utf8互相转换的两种方法
2016/09/01 PHP
php 删除指定文件夹的实例讲解
2017/07/25 PHP
ymPrompt的doHandler方法来实现获取子窗口返回值的方法
2010/06/25 Javascript
javascript实现文字图片上下滚动的具体实例
2013/06/28 Javascript
Js日期选择器并自动加入到输入框中示例代码
2013/08/02 Javascript
Js获取数组最大和最小值示例代码
2013/10/29 Javascript
jquery和javascript中如何将一元素的内容赋给另一元素
2014/01/09 Javascript
jquery的ajax和getJson跨域获取json数据的实现方法
2014/02/04 Javascript
老生常谈 js中this的指向
2016/06/30 Javascript
javascript中获取元素标签中间的内容的实现方法
2016/10/08 Javascript
AngularJS全局scope与Isolate scope通信用法示例
2016/11/22 Javascript
vue中将网页打印成pdf实例代码
2017/06/15 Javascript
Angular4项目中添加i18n国际化插件ngx-translate的步骤详解
2017/07/02 Javascript
jQuery动态添加li标签并添加属性和绑定事件方法
2018/02/24 jQuery
Node.js静态服务器的实现方法
2018/02/28 Javascript
Javascript实现异步编程的过程
2018/06/18 Javascript
Python实现批量下载文件
2015/05/17 Python
Python基于回溯法子集树模板解决马踏棋盘问题示例
2017/09/11 Python
python logging日志模块的详解
2017/10/29 Python
python实现kmp算法的实例代码
2019/04/03 Python
Python原始套接字编程实例解析
2020/01/29 Python
详解python的super()的作用和原理
2020/10/29 Python
Jmeter调用Python脚本实现参数互相传递的实现
2021/01/22 Python
CSS3实现王者荣耀匹配人员加载页面的方法
2019/04/16 HTML / CSS
来自美国主售篮球鞋的零售商店:KICKSUSA
2017/11/28 全球购物
《夹竹桃》教学反思
2014/04/20 职场文书
2014年外联部工作总结
2014/11/17 职场文书
幼儿园安全管理制度
2015/08/05 职场文书
2016年中学法制宣传日活动总结
2016/04/01 职场文书
关于vue-router-link选择样式设置
2022/04/30 Vue.js