2012-07-09 42 views
0

我正在盡我所能編寫可讀性好的代碼,但在我的工作中經常會有疑問!'保護'是一個可接受的Java類名稱

我創建了一些代碼來檢查一些受保護軟件的狀態,並且已經創建了具有方法檢查所使用的軟件是否被許可類(有單獨的許可類)。

我命名類「保護」,目前訪問,通過建立一個appProtect對象。該類中的方法允許檢查關於應用程序的許多事情,以確認它實際上被許可使用。

對於這樣的班級,「保護」是否可以接受?

我讀的地方,如果你必須要考慮到長期的方法,類,對象等的名稱,那麼也許你可能不會在面向對象的方式編碼。在做這篇文章之前,我花了很多時間思考這個問題,這讓我懷疑這個名字的適用性!

在創建(和校對)這個職位,我開始嚴重懷疑我的工作至今。我也想我應該重新將對象重命名爲applicationProtection而不是appProtect(儘管我也對此有任何評論?)。我發佈的不是那麼少,希望我能從別人的觀點/意見中學到一些東西,即使他們只是確認我「做錯了」!

編輯: 感謝您的答覆,並道歉,如果它不是一個「有效」的問題。我打算去licenseChecker(謝謝@millimoose),雖然另一個線程建議'保護者',這看起來更合適,因爲這個類取決於是否有有效的許可證。

+2

「其中有方法的類檢查所使用的軟件是否被許可」 - 然後把它叫做'LicenceChecker'。類名應該是描述它所代表的名詞的名詞,或者它的用途。 (名詞化動詞的類名看起來很奇怪,但由於大多數設計模式都有封裝流程或動作的類,所以它不會是代碼味道不好的。) – millimoose 2012-07-09 14:52:14

+0

謝謝。這是因爲'licenseChecker'是一個東西(名詞?),而'保護'不是? – Jonny 2012-07-09 14:54:20

+0

我認爲這是一個很好的名字,但那只是我。這很可能會很快結束,但請嘗試在http://programmers.stackexchange.com/questions – nook 2012-07-09 14:54:40

回答

0

大聲讀出代碼,看看它聽起來如何。顯然它聽起來並不完美,但如果你正在向非程序員的人員閱讀類,實例和方法的名稱,他們應該對他們聽起來合理,並且幾乎講述了一個故事。我認爲DSL的模式在很多情況下是很好的選擇。這在Java編程中不是很常見,並不總是適合問題,但我認爲它爲類和方法名稱提供了一個很好的指導。

1

類是對象的藍圖。對象代表真實世界的概念。所以,當你引用這個概念時,一個類的名字應該簡單地反映出你在真實世界中使用的名字。在你的情況下,保護(即使一個有效但不一定是壞名字)並不是非常具體。

0

通常你希望把你的類的東西,是指作用,而不是行動。由於您將創建與其他對象交互的類的實例,很明顯,您的應用程序中的每個對象在宏方案中都扮演着特定的角色。

我認爲@millimoose建議的名稱LicenseChecker非常適合您的情況,因爲它準確地反映了該類的角色