游戏编程,编程 变量命名名用拼音可以吗

程序中常用的变量命名法
一、匈牙利命名法【Hungarian】:
广泛应用于象Microsoft Windows这样的环境中。
& & & Windows
编程中用到的变量(还包括宏)的命名规则匈牙利命名法,这种命名技术是由一位能干的 Microsoft
程序员查尔斯·西蒙尼(Charles Simonyi) 提出的。&
匈牙利命名法通过在变量名前面加上相应的小写字母的符号标识作为前缀,标识出变量的作用域,类型等。这些符号可以多个同时使用,顺序是先m_(成员变量),再指针,再简单数据类型,再其他。例如:m_lpszStr,
表示指向一个以0字符结尾的字符串的长指针成员变量。&
匈牙利命名法关键是:标识符的名字以一个或者多个小写字母开头作为前缀;前缀之后的是首字母大写的一个单词或多个单词组合,该单词要指明变量的用途。
匈牙利命名法中常用的小写字母的前缀:
& 数组 (Array)&
& 布尔值 (Boolean)&
& & & 字节
&有符号字符 (Char)&
& & &无符号字符 (Char
Byte,没有多少人用)&
& & & 颜色参考值
(ColorRef)&
cx,cy & & &
& 坐标差(长度
ShortInt)&
& & Double
&Handle(句柄)&
&长整型 (Long Int)&
& & & Long
&类的成员&
& & &短整型 (Short
& 以null做结尾的字符串型 (String with Zero
二、骆驼命名法【camelCase】:
骆驼式命令法,正如它的名称所表示的那样,是指混合使用大小写字母来构成变量和函数的名字。例如,下面是分别用骆驼式命名法和下划线法命名的同一个函数:
&printEmployeePaychecks();
print_employee_paychecks();
&第一个函数名使用了骆驼式命名法——函数名中的每一个逻辑断点都有一个大写字母来标记;第二个函数名使用了下划线法----函数名中的每一个逻辑断点都有一个下划线来标记。
骆驼式命名法近年来越来越流行了,在许多新的函数库和Microsoft
Windows这样的环境中,它使用得当相多。另一方面,下划线法是c出现后开始流行起来的,在许多旧的程序和UNIX这样的环境中,它的使用非常普遍。
三、帕斯卡命名法【PascalCase】:
&与骆驼命名法类似。只不过骆驼命名法是首字母小写,而帕斯卡命名法是首字母大写
&如:public void
& DisplayInfo();
& string UserN
& 二者都是采用了帕斯卡命名法.
【在C#中,以帕斯卡命名法和骆驼命名法居多。
在C#中,简单的变量一般用camelCase规则,而比较高级的命名使用PascalCase。
如.net Framework的公共字段及公共属性。】
MyData是一個帕斯卡命名的示例。
myData是一個骆驼命名法。
iMyData是一個匈牙利命名法,小些说明了变量的类型或者用途。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。C语言变量命名规则_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
C语言变量命名规则
上传于||文档简介
&&C语言变量命名规则
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩3页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢程序代码中变量名到底是用英文还是用拼音
这个问题似乎是不需要讨论了。所有有点经验的程序员都会毫不犹豫的回答,当然是英文。但我今天偏要来说一说我自己的意见,并不能这么一概而论。
据某网站调查,给变量命名是程序员每天最头疼的事。所以可见不论英文或中文,给变量命名都非易事。我先给出我自己的命名规则:
对所有需要阅读你代码的人来说,变量名没有歧义
在此基础上越短越好
对整个项目来说形式统一
先说一下第三条,很好理解,比如要用camel case
就都用camel case,要用下划线就都用下划线。这个就不多说了。
根据我的规则,变量名到底是用英文还是拼音,并没有太大关系。
首先一点,我们要确定阅读你代码的人群。其实这也是很多程序员说要用英文做变量名的最主要原因。很多代码是需要跨国家或地区合作的,或者需要和全世界分享的。那么,英文无疑是最好的选择。但还有很多情况下,代码只需要一部分人看懂,或者在极端一点,只需要你自己看懂,那么就只需要保证一点就可以了,那就是没有歧义。
我看过一些日本程序员的代码,他们很多人都是大大方方的直接用平假名的罗马注音来命名变量。因为人家本来就是只给日本程序员看的,我们偷看本来就是不对的。人家用平假名给变量起名,还变相的相当于给程序加密了呢。说道这里,我仿佛意识到了为什么日本没有大的国际IT公司了,但是不得不说,他们自己国内的IT公司的水平,其实一点也不比美国的差的。
有些观点认为,程序具有天生的需要给全世界共享的需求。这点我也不是很认同,也有其他具有类似属性的东西,比如论文。那我们是不是所有的论文都要用英文写,中文的论文就一点价值都没有了呢?
也有些人不用拼音的原因是用拼音的歧义较多。比如biaoGe可能是表格,也可能是表哥。这一点其实在韩语去汉字化过程中很多人都提到过。韩语的书写文字中之前存在大量的汉字,在二战后,韩国和朝鲜几乎同时改革文字,将韩语中的汉字全部去掉,只留下韩语本身的注音字符。(那些符号相当于拼音,所以只要你学会那些符号的念法和拼法,就能读出所有的韩语了)刚开始人们有些不习惯,但是现在已经很少有歧义了。因为理解一个词的意思不光取决于读音,还取决于上下文语境。你说提交biaoGe,和我的biaoGe,相信大部分人都能理解第一说的是表格,第二个说的是表哥。其实程序跟文章一样,也是有语境的。如果想将拼音本身进一步消歧,也是有办法的,比如在拼音后面加上声调,biao3ge2,这样一下就能读出是表格了。
刚才说了为什么可以用拼音做变量名,接下来再说一些不宜使用英文做变量名的情况。
英文不好的程序员,用英文做变量名反而容易闹笑话。
很多英文好的程序员指责一些英文不好的程序员变量名不用英文,这就像你看到一个人在用美图秀秀修图,然后去指责他为什么不用photoshop啊?还说英文不好可以去查字典嘛,或者上网查啊。
我们在网上经常嘲笑一些神翻译,比如把“干货”翻译成“fuck
goods”,这明显就是上网机器翻译的。而英文不好的程序员上网查的话,很容易起出类似的变量名。到时候反而不如写gan1huo4能让人看懂。
如果一个团队的负责人要求团队成员必须用英文做变量名,请在招人的时候就把英文好作为一个必须的要求。
2,有些中文的词汇是无法翻译成英文的,翻译了反而让人摸不着头脑。我之前做过一段时间的网页游戏,很多网页游戏是中国武侠题材的。比如要写一个方法是降龙十八掌,如果你硬要翻译成beatingDragon18Palms,我不知道有多少人能看得懂。这就像之前中国翻译地名和路名,将北京西站翻译成Beijing
west train station还是翻译成Bei
Jing Xi Zhan呢?我们都理解用字母是为了外国人书写方便,但是使用的时候,对象却大部分是中国人。比如一个外国人拿着写着这两种翻译的纸条给出租车司机,让司机开到指定地点,哪种翻译更能达到目的呢?
有些人说用拼音可以,但千万不要用拼音首字母。我倒是觉得只要没有歧义,用拼音首字母也是可以的。比如降龙十八掌的方法完全可以写成xl18z,在有上下文的情况下,是完全可以看懂的。这些东西也可以约定俗成,比如程序员们都知道i18n是代表internationalization,就是多语言国际化。这个就符合我命名规则里面的第二条,越短越好。
还有些时候词汇确实有英文,但是太难太偏,大部分中国程序员都看不懂,但程序又只有中国的团队看,这种情况也可以使用拼音。比如很多医学词汇,像otorhinolaryngological
department 耳鼻喉科,你这样英文写出来,所有读你程序员的人都得抱个字典读你程序。
最后我也要承认,只要能用英文的时候还是要尽量用英文。因为英文是计算机的母语。很多框架比如ruby on
rails和仿照rails的cakephp,都是convention
over configuration,就是让你尽量不要自己配置规则,而要用框架已经约定俗成的规则。他们规定了数据库表名必须是下划线复数,model名称必须是camelcase单数,controller名称又是camelcase的复数,这样就只能使用英语了。
还有很多文档也都是只有英文版的,想上stackoverflow上问个问题,也得用英文问。在github上跟人切磋也还是得用英文。所以想成为牛B的程序员,英文还是很重要的。我这篇文章旨在说明新手或者水平还没达到那么高的程序员们,不要硬逼自己,我们量力而行。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。2016年2月 扩充话题大版内专家分月排行榜第二
2016年3月 扩充话题大版内专家分月排行榜第三2015年12月 扩充话题大版内专家分月排行榜第三2015年11月 扩充话题大版内专家分月排行榜第三2013年11月 扩充话题大版内专家分月排行榜第三2013年10月 扩充话题大版内专家分月排行榜第三
2009年9月 扩充话题大版内专家分月排行榜第二
2012年2月 扩充话题大版内专家分月排行榜第三2011年5月 扩充话题大版内专家分月排行榜第三2010年6月 扩充话题大版内专家分月排行榜第三
2015年11月 扩充话题大版内专家分月排行榜第一2015年7月 扩充话题大版内专家分月排行榜第一2015年1月 扩充话题大版内专家分月排行榜第一2014年9月 扩充话题大版内专家分月排行榜第一(补)2013年9月 扩充话题大版内专家分月排行榜第一2013年8月 扩充话题大版内专家分月排行榜第一2013年7月 扩充话题大版内专家分月排行榜第一
2016年3月 扩充话题大版内专家分月排行榜第二2015年12月 扩充话题大版内专家分月排行榜第二2015年6月 扩充话题大版内专家分月排行榜第二2015年2月 扩充话题大版内专家分月排行榜第二2014年10月 扩充话题大版内专家分月排行榜第二2014年8月 扩充话题大版内专家分月排行榜第二
2013年10月 移动开发大版内专家分月排行榜第三
2014年7月 硬件/嵌入开发大版内专家分月排行榜第二
2013年10月 硬件/嵌入开发大版内专家分月排行榜第三2013年6月 硬件/嵌入开发大版内专家分月排行榜第三2013年3月 硬件/嵌入开发大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。

我要回帖

更多关于 编程命名规范 的文章

 

随机推荐