2016-06-09 92 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); 
} 
}