我一直在討論java包和java類名的命名。我應該使用包名還是類名來表示一個概念?
我遇到的問題如下:我們有一個名爲Feature的接口,我們有子接口,如:LogInFeature和AuthenticationFeature。這兩個接口都有其特定的API,並且它們都在同一個包中。對於這個問題,哪個包/類命名結構更有利,爲什麼?
com.example.internal.feature.LogIn
com.example.internal.feature.Authentication
VS
com.example.internal.features.LogInFeature
com.example.internal.features.AuthenticationFeature
我喜歡的第一個解決方案,因爲它不會在所有類別中複製功能。但另一方面,我也喜歡第二種解決方案,因爲在最後的附加功能有助於在大代碼基礎上進行代碼發現。
如果除了內部功能,我還有外部功能,或者如果我允許我們的客戶添加功能插件,答案會不同嗎?
歡迎任何評論和建議。
我寧願第一個解決方案。因爲你的代碼看起來很優雅,你最終會在同一個地方獲得模塊中的所有接口。您可能希望基於模塊創建軟件包,而不是基於特定的功能,因爲這會使您的代碼闖入您不想猜測的修補程序。 – vikeng21
這並不能真正回答您的問題,但如果您要使用第一個解決方案,您會在哪裏放置「Feature」接口? (只是出於好奇......:$) – wns349
@ wns349,代碼本身在過去並沒有很多想法。 Feature.java當前在同一個包中:com.example.internal.feature。 – Lily