2010-10-06 102 views
5

我即將爲我的項目創建一個User類。對於創建這樣一個通常命名的類是否是不好的做法有任何意見?我可以使用特定於我的項目的前綴來補充它。Java「用戶」類命名最佳實踐?

+1

這個項目是否被其他項目用作圖書館(和用戶將成爲公共課程)? – Thilo 2010-10-06 04:22:40

+0

編號專有的網絡項目。實際上,我非常願意將用戶保留爲用戶,但我們也有一個會話的另一個域概念。還沒有得到它,但在那個命名上已經給我帶來了胃灼熱。 – Steve 2010-10-06 04:26:00

回答

3

這是packages的用途。

+2

那麼你最終可能會導入兩個包含「User」類的包。這可能會導致一些頭痛。 – rkg 2010-10-06 04:14:08

+0

@Ravi,但如果這是一個問題,那麼你可以通過完全限定的名稱來引用這些類。 – 2010-10-06 04:14:51

+2

@邁克爾:這是真的,但我覺得它傷害了代碼的可讀性。 – rkg 2010-10-06 04:16:39

1

使用通用名稱並不是一個壞習慣,除非您將類名描述爲類的功能。請記住創建適當的包,可以更具體地定義您的類。

2

我會建議你必須在你的用戶類中添加一個應用程序特定術語的前綴。 「用戶」過於常見和模糊。你可能很容易使用具有「用戶」類或接口的API。儘管最新的IDE使得重構代碼變得相對容易,但如果你有一個特定於應用程序的「用戶」類,它會更乾淨,更容易。

+0

我同意你的意見。當你有多個同名的類時,它開始變得混亂。 – 2010-10-06 04:38:45

0

您應該使用Java package s來避免名稱衝突。使用通用名稱沒有任何問題,只需確保將其放入自己的包中即可。例如,你可以有以下結構:

com/ 
    yourwebsite/ 
     yourproject/ 
      userdata/ 
       User.java 

然後你開始文件 「User.java」 有:

package com.yourwebsite.yourproject.userdata; 

當你導入它,你可以使用:

import com.yourwebsite.yourproject.userdata.User; 
+1

我仍然建議人們不要將他們的類命名爲「字符串」或「列表」或「集合」或「例外」或「連接」或「會話」。我對「用戶」很好,如果僅僅因爲它在其他地方不常用(在我目前的工作區中,有許多庫,「com.sun.tools.internals ...」中只有一個,「org」中有一個.hsqldb「,你可能不會使用它們)。 – Thilo 2010-10-06 04:21:11

+0

@Thilo,是的,我當然不會使用已經在任何「java。*」或「javax。*」包中使用的名稱,但是在撰寫本文時,Java API中沒有User類。 – 2010-10-06 04:27:29

1

爲了清晰起見,我總是嘗試使用普通名稱(如User)。只要確定名稱是從問題域和現有項目詞彙表中抽取的。注意含糊不清,如果出現問題,請更改班級名稱。具有自動重構支持的現代IDE使這一切變得簡單。

+0

是的。在適當的包裝中有正確的類名是正確的。像IntelliJ這樣的IDE可以很好地支持搜索和導入類名 - 它甚至可以是自動的。 – Jayan 2010-10-06 04:43:05

0

此名稱不太可能被任何公共API使用,所以應用程序可以使用它。