日期:2014-05-20  浏览次数:20649 次

【讨论】Java中的变量命名法~~java中你还会使用匈牙利命名法吗?
引题:

这两天整理资料~~整理时翻出来前一阵子群里的某个朋友发给我让我帮忙解决的一段代码~~~由于当时忙碌没有细看,于是又翻看了一

遍。说实话变量命名上确实有些糟糕(o(∩_∩)o...嘘~~大家不要说是谁哈~~)。于是我想发一个小讨论,就变量命名法方面一起再

次学习深入一下。

切入正题:

以前在做C++的时候,由于微软的影响,在命名规则上普遍使用的都是匈牙利命名法。这里咱们暂且不讨论匈牙利命名法是否能够带来

代码成本的最大收益,至少他影响了一大批代码开发人员。随着eclipse等高智能IDE的发展,我们似乎已经不需要再去使用一系列复

杂的前缀来标识我们的变量。在刚刚转到Java的时候我还保留着用m_来写一个成员变量。但是随后在翻看了很多大师级的人物编写的

代码之后,我发现几乎没有那个声名显赫的开源的项目还在用这种大名鼎鼎命名法。于是我也就慢慢的改掉了这种繁琐的命名习惯。这

都是后话。

提出题目:

1.在Java的代码开发过程中,你是否还愿意去使用匈牙利命名法来命名你的变量吗?

2.在各位的公司的开发规则中是否有还有参照匈牙利命名法指定的准则吗?

------解决方案--------------------
sf ,
------解决方案--------------------
1.不用,太繁
2.没有

完毕,给分
------解决方案--------------------
我完全随意........接分
------解决方案--------------------
貌似很繁琐.....不喜欢,java的命名规范不就是要让人容易理解嘛?不过公司让用也没办法..哈哈,还没进公司呢,学习中...
------解决方案--------------------
大一学C++的时候用过,现在刚学java没多久,没使用过匈牙利命名法,竟然没有感觉到不适应。
------解决方案--------------------
不用,因为ide有提示,用ide的快捷键找起来也很方便
------解决方案--------------------
完全没有
但是命名要有意义
不能出现诸如a,b,a1,b1,这种(@#&%(*&@#(%&@#%&自己也看不懂的名字

一般都是那个字段的英文或者拼音之类的
诸如: 工程区分---projectdivision 详细画面---projectdetails
之类的,虽然有点长,但是要让人一看就明白意思


否则你定义a1到a10,过2个礼拜,回来一看,册那我估计你自己也不清楚自己写了什么了。。。
所以还是要有意义
------解决方案--------------------
其实不说繁不繁琐,我觉得命名这个也是一种思想。现在即使有了强大的IDE,好多问题还是因为我们变量命名的不规范造成的。匈牙利命名法也许是繁琐了,现在我也不用啦,但是匈牙利命名法教会我的怎样给变量命名的这样一种思想还是影响着我!
------解决方案--------------------
1、个人一般以该变量的用途来命名(不过一般不长 有必要时加个前缀说明下)
2、公司没有用匈牙利命名法的规定 可是有起变量名要有实际用途意义的说~~~

道歉下 没注意是技术帖。。。。不该sf的。。。
------解决方案--------------------
1. 如果十分有必要本人愿意使用。
2. 我的公司在我们小组内没有使用。别的小组不知道。

个人感觉Java这种静态强类型和语法检查的语言中,匈牙利命名法自然失去了他的意义。编译器就负责搞定了一切。所以Java中没有人使用这种命名方法。

在Java中如果使用了这种命名方法
1. 成本太高。 
2. 收益甚微。
3. 难以实施。
Java程序员懒惰,Java语法检查强大。
------解决方案--------------------
我一般变量是采用第一个字母小写,其余的单词第一个字母大写。
例如 String sName; 第一个字母s代表变量的类型,后面单词才代表变量的含义,再例如 int iAge等
------解决方案--------------------
java中确实很少见到使用这种命名方法的,太特别的字段名生成set,get方法时一些orm不认,例如ibatis对一些另类的方法名支持的就不好。

------解决方案--------------------
ps:使用匈牙利命名法,即便不完全实现在javascript中也是十分有意义的,我觉得更适合弱类型语言。
------解决方案--------------------
探讨
ps:使用匈牙利命名法,即便不完全实现在javascript中也是十分有意义的,我觉得更适合弱类型语言。

------解决方案--------------------
完全没用到...
对于变量或者方法的命名,一般都根据业务上的意义来命名。
------解决方案--------------------
java自然要用java命名规范了,匈牙利命名法是MS的事情。
------解决方案--------------------
不用,一般找个有意义的单词就ok了也便于记和后面的使用
------解决方案--------------------
探讨