我想知道是否存在代表保留字的变量的命名约定。例如,我有一个名为Video
的类,该视频必须包含一个布尔值,以定义它是否是私人的。 由于private boolean private;
不起作用,我不知道最好的选择是什么。避免使用保留字的变量的命名约定
- mPrivate
- _private
- isPrivate
- notPublic
- ...
有什么建议?
我想知道是否存在代表保留字的变量的命名约定。例如,我有一个名为Video
的类,该视频必须包含一个布尔值,以定义它是否是私人的。 由于private boolean private;
不起作用,我不知道最好的选择是什么。避免使用保留字的变量的命名约定
有什么建议?
如果你能想到的一个双字名的,你清楚的任何冲突:
private
- >isPrivate
new
- >newItem
此外,它往往会更具可读性。
我经常看到的唯一常见名称冲突是上面提到的class
- >clazz
。
只要放入实例变量代表的内容即可。即你的班级是视频,你想要的实例变量是“私人”,你不能使用,所以只需将其称为privateVideo。所以,你的getter和setter会像isPrivateVideo,setPrivateVideo
isPrivate听起来不错,适合您的情况。我总是倾向于名字我的布尔变量这样的:
isSomething
hasSomething
等。
既然是boolean
我认为使用isPrivate
是最佳的选择,因为它意味着该变量是布尔值。这也好于notPublic
,因为“真实”值更能反映名称。
mPrivate看起来像一个Private
对象的名称,所以我会远离它。 所以最后我认为isPrivate
是你的最佳选择
在这种情况下,如果真/假是唯一的选择,引入枚举可能是矫枉过正。 (在下面的例子与保留字的问题是由在枚举用大写单词避免。)
public class Video {
public enum Access {
PRIVATE, RESTRICTED, PUBLIC;
}
private String name;
private Access access;
public Video(String name, Access access) {
this.name = name;
this.access = access;
}
public static void main(String[] args) {
new Video("Alien", Access.PUBLIC);
new Video("Home movie", Access.PRIVATE);
}
}
我已经看到了变量名clazz所为 –
类为什么不将其命名为'restricted'?否则,我会用'nonPublic'去。 – hotzst
除匈牙利符号外的任何内容。 – Kayaman