我曾经见过很多人用汉语拼音做变量名,包括用在数据库中,比如数据库名、表名、字段名,包括用在 java/c#/c++/javascript 中。

用什么做变量名,本无伤大雅。用汉语拼音做变量名,比用汉字作变量名,要好很多。

问题在于,汉语中,同音字太多,从汉字转成拼音,很容易转,很容易懂,不会产生歧义。但是让另一个人看汉语拼音做的变量名,则需要这个人的思维中,将拼音转换成汉字,由于同音字的大量存在,会造成理解困难、甚至理解错误。

同音词举例:

fujian, 附件/福建

shanghai, 上海/商海/伤害

biaozhi, 标志/标致/表侄/婊子

BYD, 比亚迪/不要爹

BMW, 宝马车/别摸我

hanzi, 汉字/汉子

gangcai,刚才/钢材

xinren, 信任/新人/新任

确实不适合做变量名。

相比较用汉语全拼做变量名的,更不可取的是,很多人用两个、三个声母字母,缩写成一个变量,这种变量更难以理解:因为这种同音词更多。

比如 GC, 就太多同音词了,这是 ubuntu 的拼音输入法中的:刚才/歌词/钢材/干脆/高层/搞错/观测/刚从/过错/光彩/盖茨/公测/公测/棺材/共存/该村/公厕/甘草/更惨/馆藏/各村/管材/告辞/故此/国粹/干菜/国策。

这是 windows 中微软拼音中的:高层/干脆/刚才/光彩/甘草/故此/钢材/歌词/观测/公厕/共存/果菜/告辞/馆藏/滚存/干才/供词/高参/挂彩/过错/估测/棺材/国策/鬼才/国粹/孤残/骨刺/干草/干菜/过从/管材/跟从/高才/构词/沟槽/怪才/谷仓/光灿/卦辞/更次/固辞/谷草/改窜/攻错/盖菜。

可以想象,如果一个程序员看到以 GC 拼音缩写做变量名,是难以确定这是什么意思的。

我建议还是坚持用英文单词做变量名,不怕长。很多编程规则中,莫名其妙地规定,变量名不能长。问题是,如果变量名可以取短的,我们自然会取短的,比如 name; 如果变量名取短了,会引起歧义,则我们不得不用长名字,比如 user_chinese_name, user_english_name。

这不是简单一个规则就能解决的:变量名要少于 n 个字符。

另外,变量名长了,并没有特别明显的坏处。现在的开发工具 IDE ,都有代码输入自动提示功能,并不会需要多敲多少字母。

--------------------

欢迎大家下载试用折桂单点登录系统, http://zheguisoft.com

Java 不懂英语可以用拼音声明_编程经验点滴----避免使用汉语拼音做变量名相关推荐

  1. java写的教育管理的项目_干货分享|推荐12款适合做Java后台管理系统的项目

    Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言.Java技术具有卓越的通用性.高效性.平台移植性和安全性,广泛应用于PC.数据中心.游戏控制台.科学超级计算机.移动电话和互联网,同时拥有 ...

  2. python 中文转拼音原理_【Python】 汉字转化汉语拼音pinyin

    pinyin pinyin模块是github上一个小项目,在github.com/cleverdeng/pinyin.py上面可以下到源码.衷心感谢那些为这个模块做出贡献的人来方便我们[鞠躬] 安装: ...

  3. python汉字作为变量_在Python3x中不能使用汉字作为变量名。()

    完整的反射弧由哪几部分构成?请简单描述一次反射的过程. 在其他生产要素投入量不变的条件下,随着一种生产要素的不断增加,边际产量( ) (1.0分) ( )误差具有偶然性,不能事先知道因而不能从根本上消 ...

  4. pythonselenium提高爬虫效率_[编程经验] Python中使用selenium进行动态爬虫

    Hello,大家好!停更了这么久,中间发生了很多事情,我的心情也发生了很大的变化,看着每天在增长的粉丝,实在不想就这么放弃了,所以以后我会尽量保持在一周一篇的进度,与大家分享我的学习点滴,希望大家可以 ...

  5. python的变量名有哪些_【python字符串做变量名的方法有哪些?这些方法对python应用很重要】- 环球网校...

    [摘要]python的功能都是建立在代码之上的,不过你知道python字符串做变量名的方法有哪些?这些方法对python应用很重要,如果你想学好python,那么本文内容一定要自己试试,毕竟实践出真知 ...

  6. 下列可作为python变量名的是_以下选项中能用作Python程序变量名的是____________。(2.5分)_学小易找答案...

    [单选题]以下选项中能用作Python程序变量名的是____________.(2.5分) [其它]4.2.2.12 Packet Tracer - Configuring Extended ACLs ...

  7. java里有没有 0的使用_请问有没有人有零基础Java基础习题?

    第一组: 1.下面哪些是合法的变量名? A(2variable //不能以数字开头 B. (variable2 //不能用点和空格 //不能用点和空格 C. (_whatavariable D(_3_ ...

  8. java 8进制串转中文_为什么不能用中文进行编程?而英文就可以

    前些天大雄无意间听见 几个线下班小伙伴说 真的是无(te)意(di)的 "我要补英文" "对,英文真的很重要" "如果编码用中文就好了" . ...

  9. java中定义变量名时大写_,【Java】变量命名规范

    Java是一种区分字母的大小写的语言,所以我们在定义变量名的时候应该注意区分大小写的使用和一些规范,接下来我们简单的来讲讲Java语言中包.类.变量等的命名规范. (一)Package(包)的命名 P ...

  10. java 拼 变量名_你还用拼音为变量命名?新人OIer别傻了,教你写出优质代码

    本篇文章适用语言:python,c++,Java.(其实我就是随便bb) 我们在编辑代码的时候,不免拿其他人的代码进行学习,或者将自己的代码拿给别人修改.这个时候,如何让别人快速读懂你的代码,是提升效 ...

最新文章

  1. 海思3536:交叉编译Qt4.8.4
  2. linux 更改ctime_linux常用命令
  3. 二叉树的遍历(前,中,后)
  4. Linux线程(五)
  5. time-formater 时间格式化插件
  6. 客房预订+餐饮预订+酒店app+移动端通用版电商app模板+Axure高保真酒店预订管理系统+积分商城+餐饮预订系统+优惠券+订单管理+移动端酒店管理原型+酒店电商原型
  7. Android APK签名原理
  8. Win32汇编——钩子
  9. Ubuntu使用ZTE MF832S上网卡拨号上网
  10. (数据分析)网课评论分析
  11. WT2003H4-16S 语音芯片按键录音及播放应用解析
  12. 翟佳:优秀的开源项目应该被更多人看见,我很荣幸可以参与其中
  13. shell if语句和test命令
  14. Controller层使用@value注解获取不到 yml文件中的properties属性值
  15. rc时间常数定义_低通滤波中RC时间常数设定,我是这么思考的
  16. EventBus报错:and its super classes have no public methods with the @Subscribe annotation
  17. day08学习 Python文件函数、CSV文件读写
  18. 使用Docker安装HomeAssistant
  19. python汉字拼音查询_Python汉字转拼音
  20. matlab 空间方程,matlab - 如何从MNA方程组到MATLAB中的状态空间[A,B,C,D] mimo? - 堆栈内存溢出...

热门文章

  1. html5鼠标右键事件,js鼠标右键点击事件
  2. 2020上半年DeFi行业研究报告-Part2 发行 | TokenInsight
  3. Win10投影到此电脑用不了
  4. 怎么将多个Excel工作簿合并成一个新的工作簿
  5. eterm php,eterm配置出租 eterm3 eterm黑屏
  6. Android netd 简单分析和配置iptable
  7. python爬虫——爬起点中文网小说
  8. java与wps_java能否wps调用页码
  9. HTML页面布局适配不同分辨率
  10. 向量叉乘公式_向量外积的高中数学运用