2009-11-09 187 views

回答

31

我覺得我讀的地方,最好的指導原則是要始終把握的縮寫的第一個字母(即,如果你有一個用戶TTL其中TTL是一些隨機縮寫在你的項目中,那麼最好寫userTtl)。

這是有道理的,因爲它解決了一些問題。例如,假設你想要一個用戶id計數器。 userIDCounter的可讀性比userIdCounter差。對於更長的縮寫詞,情況會變得更糟。

+0

分百分比的協議。我很高興你提出這個問題。 +1 – 2009-11-09 09:30:40

+2

此外,這可以讓你避免什麼是真正的縮寫和什麼是一個字的問題。花更少的時間考慮像這樣的事情意味着花費更多的時間來使你的代碼正常工作。 – 2010-01-06 19:23:49

1

主要與應用程序一起取決於你的命名約定(如果有的話)。舉例來說,userid是Java約定是一個優選

6

根據Java命名約定(1)(2),第一個是首選。

+1

不幸的是,這些都不是在談論縮略語。 – 2009-11-09 09:37:00

+0

特別是你的第二個參考,Java語言規範和Java虛擬機規範,是巨大的文檔集合。他們更像圖書館而不是書本。單獨的目錄是很多頁面。如果您聲明他們支持您的聲明,那麼您應該明確引用他們的聲明,並告訴您確切地找到了報價。否則,給讀者提供這些參考是沒有用的,因爲他不可能使用這個參考文獻,或者至少這樣做是一項巨大的工作,這是不值得的。 – 2014-07-03 10:57:03

+0

@DanielS。該鏈接被破壞,並被重定向! – 2014-07-03 17:24:30

6

這是一個艱難的決定,即使太陽沒那麼知道該怎麼做。看看JRE的課程,

java.net.URL 
java.security.acl.Acl 
java.net.HttpURLConnection 
java.awt.dnd.DnDConstants 
java.awt.color.ICC_Profile 

就個人而言,我更喜歡使用camel-case總是保持一致。

+7

'HttpURLConnection' - aaaaaargh。 +1 – gustafc 2009-11-09 15:05:02

0

就Java慣例而言,它涉及很多書籍,每個單詞的第一個字母被captailsed,而其他所有的字母都是小寫字母,所以你有像AcademicStudent這樣的類,UserId也是如此。

8

我認爲在描述該項目:Effective Java由Joshua布洛赫權威在這件事情:

堅持普遍接受的命名約定

類和接口名稱應該由一個或多個單詞,首字母爲 的字母大寫[...]縮寫 是應該避免的,除了首字母縮寫詞和某些常用縮寫詞如max 和min。 [...]強烈的 的論點可以作出贊成僅大寫首字母。 [...]你仍然可以知道一個單詞開始的地方,下一個單詞結束。您希望看到哪個類名,HTTPURL或HttpUrl?

所以,它應該是userId

8

是這樣的:

  1. 對於縮略詞,大寫第一個字母。當然。忽略一些JDK方法沒有的事實。
  2. 但是「id」是語言中最奇怪的單詞之一 - 這個縮寫中沒有人真正知道它的簡稱。有人建議「識別文件」,但這可能只是在事實後才做出來的。 '辨認...某事'是關於我們所擁有的最好的。無論如何,如果你使用userID,它表明,普通的ID會iD,你肯定作爲赫克不想這樣做,所以獲勝者是:

userId

(如別人說過)。

因此,它最終被視爲首字母縮略詞。

+0

我更喜歡這個答案,你真的不得不告訴自己忽略這樣做的JDK方法(參見ZZ Coder的答案) - 對我來說,我看到了UUID.randomUUID(),那麼我怎樣命名變量返回,你'd認爲UUID?現在,當我開始使用ID時,它似乎脫穎而出,但我想這只是偏見。不過,我會順從! – 2013-11-21 02:18:31