Luc*_*uke 8 java naming-conventions
在用Java编写Swing时,我想到的一个问题是,它是Swing组件上的推荐还是"官方"/最常用的命名约定(前缀).
例如(即使其他人可能更喜欢其他命名约定,这是我目前使用的):
但后来我的名单结束了..
我认为这样的前缀增强了我的代码的可读性,但是我没有任何组件的名称,如JComboBox,JList,JRadioButton,JCheckButton等等,列表继续.
提前致谢.
San*_*man 21
人们会告诉你,使用前缀是不好的,因为那是匈牙利符号,而现在,匈牙利符号在编程中被认为是一个很大的禁忌.就个人而言,作为一个已完成一定数量GUI工作的人,我可以告诉你,在非GUI编程中绝对应该避免匈牙利符号,在做GUI时这是一个非常好的做法.
例如,考虑一个带有文本框的简单表单,用于输入用户名.在此文本框前面应该是一个标签,提示用户在文本框中输入他的名字.现在,您如何命名文本框?'名称'?标签怎么样?一个好的做法应该是在文本框前加上txt,并用label标记,这就是匈牙利符号的全部内容.因此,文本框现在命名为"txtName",相应的标签名为"lblName".这为您提供了在IDE编辑器中轻松访问文本框,组合框和其他小部件的额外好处.例如,在Eclipse中键入"txt"并按下CTRL + Space会打开一个列出所有文本框的上下文菜单,如果您使用此表示法.
现在,回答你的问题.定义用于前缀的三个字母的常用方法是从小部件名称中删除所有元音以及所有重复辅音.如果剩下三个辅音,则应忽略它们.因此,文本框(或TextField,或在您首选的小部件工具包中调用此小部件)变为'txt',标签'lbl',组合框'cmb',表'tbl'等等.
我通常讨厌这种事情,因为它有点匈牙利符号.我不喜欢在变量名称中嵌入类型的想法,因为如果你改变类型,它不应该强制改变所有的变量名.
但就Swing而言,我认为这是可以接受的.
一个好的IDE会为你生成变量名.为什么不放手呢?如果你坚持(例如submitButton代替btnSubmit),我也会拼出这种类型.击键很便宜.
来源 -:http: //zuskin.com/java_naming.htm
为什么不只调用JTextField textField,JButton button,JLabel label和JPanel panel。花几个额外的字符使变量读起来像英语单词那样不好吗?
此外,当我将类型放入变量名时,我将其放在末尾。因此,显示名称的JLabel是nameLabel(比IMO更易读lblName)。
而且,按照duffymo的建议,将类型放入变量名是不好的做法。更好的方法是描述变量是什么。对于名称标签,它是一个显示名称的UI组件。因此,一个更好的名字可能是nameComponent。nameComponentJLabel或其他类型的事实是次要的,不应使变量名混乱。
| 归档时间: |
|
| 查看次数: |
12605 次 |
| 最近记录: |