大家讨论一下中文变量名的优劣 做JAVA好多年了,竟然才发现JAVA支持,之前写VB的时候用过一段时间的中文,感觉还不错如果我把JAVA中的所有类、方法、变量都变成中文会怎样?大家讨论一下好处和坏处吧,可观一点,不要循规蹈矩,很多人不用中文我感觉是收到“中文问题很大”的影响,但是具体大在哪呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用Eclipse打开有中文的java文件的话,编码不符合时,会乱码,设置麻烦,这个算一点... 以前用VB的时候写过一段时间的中文如果是JAVA的话,我感觉读程序对于中国程序员来说就大大方便了,跟看小说一样,多爽的事 刚看JAVA核心了,JAVA是从底层支持unicode的,也就是说,不管编码问题,在JAVA编译和运行是都不会出错 试了一下,函数名也可以。不过感觉中英文来回切换很麻烦,public if while这些还都得英文。另外用编辑器的时候有提示但又得不到中文的,也是很难受。 我也对楼主佩服得很 public static int 切jj(){ int 疤 = 1; return 疤; } 不能这样说的 那老外开发Java用英文不也没考虑到咱们吗?要是用中文开发的很好的话 这不是问题 相信 老外也会主动学中文的 就像今天咱们学英文一样。。 中西结合?1、规范2、习惯3、关于乱码:如果你的Java文件默认为GBK编码格式,而项目组其他人员用的UTF-8,你就知道了 更费事,SVN上下个别人的类下来第一次打开你总得改编码 在windows 平台应该还行浏览器应该都还支持gb18030到了linux 可能utf-8乱吗???????所以用中文写类名可以吗请指教!!! 这句话完全你不同意,现在国内有80%的程序员让然用拼音写程序,这老外能看懂吗?前几天就遇到一次,crdate,弄半天不知道什么意思,问开发人员,人家告诉我是“插入日期”的意思,类似的还会有inssj(插入时间),不仅老外搞不懂,中国人也搞不懂。这个不同意,JAVA是从底层支持unicode的,所以不要说换平台不能运行,这个完全不用担心的,你还是有点太循规蹈矩了,呵呵看完大家的留言之后,首先的感受就是“习惯问题”,我写程序的时候有很大部分都是些注释,但是如果换成中文的话,注释起码省了不少(当然,这也不是什么好习惯),大家只不过是习惯了用字母而已 如果你什么时候发现语言本身的api就是中文,那么就用吧…… for(int 临时变量=0;临时变量>数组.length;临时变量++){ 数组[临时变量] = 数组二[临时变量];}楼主试着敲一遍上面的代码就行了,实践是王道 如果java文件编码有问题,导致中文乱码,在没使用中文变量之前也只可能是注释乱码,如果变量名乱码还必须保证java文件编码正确,打中文变量名再切换英文输入别的关键字,再切换回来输入中文变量名,速度会超慢! 楼主有兴趣把JAVA里面的关键字也搞成纯中文的 那就牛B了 称之为CAVA 这里有个问题,你是在编程,既然是编程,那么就有另外一个问题,编程是为了什么?OK,为了处理事情!谁处理?当然是计算机!那么程序自然是写给计算机处理的指令!计算机最怕什么?很多人不清楚这个问题,其实很简单——二义性!!!中文对比英文,最大的区别是什么?中文博大精深,一句话根据场合的不同,能理解出N层意思来!二义性,甚至多义性甚为厉害!而E文则相反,简洁明了,基本上很少产生二义性,能够迅速而准确的表达出意思,而不需要对方有多高的领悟性计算机其实是个笨蛋,你别指望它能对你的一句:你吃了么?产生多大的理解,充其量老老实实的回答你吃了还是没吃!所以,用中文编程,恐怕是不合适的,因为对象是计算机!再者,中文占的地方可不小,而且不通用!如果你非得这么干,也行,但你也许不得不面对你的程序失去一部分可移植性的问题了 之前做J2ME时用过一些中文变量主要是当时在做完之后都是要混淆JAR包的,中文变量也会被改掉。所以这样做没什么问题,而且别人看起来也简单 我觉得英文写的代码好看一点,用中文写的话很不标准规犯,用中文来写的函数和变量它们本身的内存会占用大一点吧,因为中文的ASCII码要大一点吧 svn,cvs,linux,unix这些东西对中文的支持怎么样?如果不行,肯定不能用中文 框架支持吗?spring可以注入吗? 我看你一直强调二义性,请详细讲一下为什么计算机无法理解中文变量?我感觉写个变量“行”(hang),计算机应该不会管你写的到底是hang还是xing,请赐教! 易语言就算了,很早之前用过,对于语法来说,不建议用中文语法,我是说在变量和类名之类的上面,用中文感觉看起来比较舒服,起码我不会因为crdate(据说是“插入时间”的缩写)这样的字段而苦恼。 1、容易出错。 例如 ,三元操作符 String x = b?"Yes":"no". 换成中文:String 结果=b?"是":“不是”;啥问题?从"是"开始,后面都是全角标点符号了,输入法频繁切换,总有失手的一天。2、不容易记忆。说来可笑,因为我们英文单词量少,所以作为变量名的单词无意之中都比较统一。 换做中文,因为各个地方习惯不同,叫法不一,反而代码不容易规范,就像我们看老外的代码,经常发现他们用一些奇怪的单词做变量名一样。 比方说 class Assistant extends Employee {...}, 换成中文,肯定有人写 class 秘书 entends 雇员{....}. 有人写 class 助理 extends 员工 {...}3、不容易阅读。 以上 class Assistant extends Employee {} 和 class 助理 extends 员工 {...} 哪个容易阅读呢? 因为关键字必须是英文,所以你的思维必须在中文、英文之间来回切换,中文文法不通,英文文法也不通。人法地地法天天法道道法自然自然而然,非要牛头配马嘴,有何益处?4、至于 crtime 的问题,和中英文无关,这个是不遵守编程规范,随意信手而来的变量名,就算用中文,他说不定还会起个 插时 的中文名。 我相信会写time的人,不会不知道insert,只是嫌麻烦而已。5、关于二义性, 如果只是中文变量名的话,我觉得没啥可说的。 可能前几楼是在探讨用中文做关键字吧。 那样的话,所谓二义性不是计算机的问题,而是写代码的人的事情了。 假设我写了一段代码: 如果(。){ 。 } 除非(。。){ 。 } 各位看官,知道我想说啥么? java 引包出错 JAVA思维题目求教 关于SimpleDateFormat的问题 table问题在线等 我想写一个 ElGamal 加密算法的小程序..遇到困难和疑惑..大家帮帮忙 很难写,帮忙把 高分求解数据库连接问题!ClassNotFoundException(SQLServerDriver) 新手求问题还请大哥们帮忙! 关于Runtime.getRuntime().exec(cmd)问题 如何正确运行 applet小程序?请高手指点。 下面的程序没有错误为什么运行不了啊 ? 没有显示框框 p,q,r 赋给其0,1,怎么打印出各种组合情况?
如果是JAVA的话,我感觉读程序对于中国程序员来说就大大方便了,跟看小说一样,多爽的事
public static int 切jj(){
int 疤 = 1;
return 疤;
}
相信 老外也会主动学中文的 就像今天咱们学英文一样。。
1、规范
2、习惯
3、关于乱码:如果你的Java文件默认为GBK编码格式,而项目组其他人员用的UTF-8,你就知道了
到了linux 可能utf-8
乱吗???????
所以用中文写类名可以吗
请指教!!!
前几天就遇到一次,crdate,弄半天不知道什么意思,问开发人员,人家告诉我是“插入日期”的意思,类似的还会有inssj(插入时间),不仅老外搞不懂,中国人也搞不懂。这个不同意,JAVA是从底层支持unicode的,所以不要说换平台不能运行,这个完全不用担心的,你还是有点太循规蹈矩了,呵呵
看完大家的留言之后,首先的感受就是“习惯问题”,我写程序的时候有很大部分都是些注释,但是如果换成中文的话,注释起码省了不少(当然,这也不是什么好习惯),大家只不过是习惯了用字母而已
数组[临时变量] = 数组二[临时变量];
}楼主试着敲一遍上面的代码就行了,实践是王道
编程是为了什么?OK,为了处理事情!
谁处理?当然是计算机!
那么程序自然是写给计算机处理的指令!
计算机最怕什么?很多人不清楚这个问题,其实很简单——二义性!!!中文对比英文,最大的区别是什么?
中文博大精深,一句话根据场合的不同,能理解出N层意思来!二义性,甚至多义性甚为厉害!
而E文则相反,简洁明了,基本上很少产生二义性,能够迅速而准确的表达出意思,而不需要对方有多高的领悟性
计算机其实是个笨蛋,你别指望它能对你的一句:你吃了么?产生多大的理解,充其量老老实实的回答你吃了还是没吃!所以,用中文编程,恐怕是不合适的,因为对象是计算机!再者,中文占的地方可不小,而且不通用!如果你非得这么干,也行,但你也许不得不面对你的程序失去一部分可移植性的问题了
主要是当时在做完之后都是要混淆JAR包的,中文变量也会被改掉。
所以这样做没什么问题,而且别人看起来也简单
我看你一直强调二义性,请详细讲一下为什么计算机无法理解中文变量?
我感觉写个变量“行”(hang),计算机应该不会管你写的到底是hang还是xing,请赐教!
啥问题?从"是"开始,后面都是全角标点符号了,输入法频繁切换,总有失手的一天。2、不容易记忆。说来可笑,因为我们英文单词量少,所以作为变量名的单词无意之中都比较统一。 换做中文,因为各个地方习惯不同,叫法不一,反而代码不容易规范,就像我们看老外的代码,经常发现他们用一些奇怪的单词做变量名一样。 比方说 class Assistant extends Employee {...}, 换成中文,肯定有人写 class 秘书 entends 雇员{....}. 有人写 class 助理 extends 员工 {...}3、不容易阅读。 以上 class Assistant extends Employee {} 和 class 助理 extends 员工 {...} 哪个容易阅读呢? 因为关键字必须是英文,所以你的思维必须在中文、英文之间来回切换,中文文法不通,英文文法也不通。人法地地法天天法道道法自然自然而然,非要牛头配马嘴,有何益处?4、至于 crtime 的问题,和中英文无关,这个是不遵守编程规范,随意信手而来的变量名,就算用中文,他说不定还会起个 插时 的中文名。 我相信会写time的人,不会不知道insert,只是嫌麻烦而已。5、关于二义性, 如果只是中文变量名的话,我觉得没啥可说的。 可能前几楼是在探讨用中文做关键字吧。 那样的话,所谓二义性不是计算机的问题,而是写代码的人的事情了。 假设我写了一段代码:
如果(。){
。
} 除非(。。){
。
}
各位看官,知道我想说啥么?