2012-01-14 45 views
2

我經常遇到這種情況 - 有一個簡單的普通類,比如文章。還有另一個類存儲關於它們的所有文章和元信息。我通常將其命名爲ArticlesManager。但我已經讀過,這是一個糟糕的做法,在類名中包含Manager,Class等詞。那麼,我們應該如何調用它,如果Article類位於Models命名空間中,我們應該如何調用它的命名空間?用C#(或任何其他語言)命名類

+0

你從哪裏讀到的?這個名字並不像班上實際的名字那麼重要。如果您有需要這樣的一個名稱的類那麼或許表明在類本身的設計不良做法? – 2012-01-14 06:27:00

+0

如何'Magazine' =)或'ArticleRepository' – 2012-01-14 06:28:01

回答

3

如何命名它(如你在你的問題中所做的那樣)ArticleMeta?

+0

'ArticleMeta'完美的名字 – PresleyDias 2012-01-14 06:27:02

+0

它像手榴彈 - 隨附的是描述現實十碼範圍內的最短名稱或後綴是最好的。這讓我想起谷歌的「三個字母的單詞」,並挑出哪些可能適用於編碼約定。 – 2012-01-14 08:31:04

2

稱之爲「經理」的一個很大的缺點是,課後往往承擔過多的責任,並開始違反單一責任原則。

想一個類處理存儲在一個數據庫中的文章和命名類「ArticleStore」與命名它「ArticleManager」的類。當下一位程序員需要一個地方來完成文章翻譯時,哪一個類更可能以不相關的代碼結束呢?

這並不意味着叫什麼「ArticleManager」是一個沒有沒有,如果它實際上是有意義爲的階級做什麼名字,它只是意味着它是一個非常普通的名字,並試圖縮小名班上實際做的是一個好習慣。

1

簡而言之:如果ArticleManager比其他任何事物都能提供更好的描述性理解,只需將其稱爲ArticleManager即可。

它的長處:首先,您應該正確地設計您的解決方案。如果在此之後,你的班級最好被描述爲「文章管理器」,那麼通過golly,callit ArticleManager。不要停留在命名約定上。如果存在邏輯的(並且經過深思熟慮的)原因,那麼慣例就是經驗法則,意在適應(或忽略)。

我自己的例子:在.NET中你是「不應該讓公衆變量」,這是時是正確的99%。它是不正確的時間的1%,如果是使用屬性已超過裸變量衡量的性能損失。

相關問題