2016-06-09 72 views
1

我想知道是否存在代表保留字的变量的命名约定。例如,我有一个名为Video的类,该视频必须包含一个布尔值,以定义它是否是私人的。 由于private boolean private;不起作用,我不知道最好的选择是什么。避免使用保留字的变量的命名约定

  • mPrivate
  • _private
  • isPrivate
  • notPublic
  • ...

有什么建议?

+0

我已经看到了变量名clazz所为 –

+1

类为什么不将其命名为'restricted'?否则,我会用'nonPublic'去。 – hotzst

+0

除匈牙利符号外的任何内容。 – Kayaman

回答

3

如果你能想到的一个双字名的,你清楚的任何冲突:

  • private - >isPrivate
  • new - >newItem
  • ...

此外,它往往会更具可读性。

我经常看到的唯一常见名称冲突是上面提到的class - >clazz

0

只要放入实例变量代表的内容即可。即你的班级是视频,你想要的实例变量是“私人”,你不能使用,所以只需将其称为privateVideo。所以,你的getter和setter会像isPrivateVideo,setPrivateVideo

2

isPrivate听起来不错,适合您的情况。我总是倾向于名字我的布尔变量这样的:

isSomething

hasSomething

等。

1

既然是boolean我认为使用isPrivate是最佳的选择,因为它意味着该变量是布尔值。这也好于notPublic,因为“真实”值更能反映名称。

mPrivate看起来像一个Private对象的名称,所以我会远离它。 所以最后我认为isPrivate是你的最佳选择

1

在这种情况下,如果真/假是唯一的选择,引入枚举可能是矫枉过正。 (在下面的例子与保留字的问题是由在枚举用大写单词避免。)

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); 
} 
}