我想知道是否存在代表保留字的變量的命名約定。例如,我有一個名爲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