我的任務是選擇一個實際上是我們架構內部名稱的名稱。我認真對待這個責任,因爲我曾與很多「糟糕的」命名空間合作過,並且不想在其他人身上施加這種責任。選擇名稱空間名稱時應該知道什麼?
什麼使我「壞」的命名空間?
在人爲因素方面:
- 的首字母縮寫,其基本上無意義:
DDL
,MOS
等 - 與從另一個供應商提供的一個共同的碰撞時,像
Office
或Text
或IO
命名空間
- 由於它是外來詞或專有名詞,難以爲非母語英語人員拼寫或發音的命名空間:
Vancouver
等等。
我覺得在描述能力和助記符方面選擇一個命名空間是很舒服的。我在想什麼技術名稱空間名稱的後果可以。例如,名稱空間_
可能會產生哪些問題,這是一個合法的C#名稱空間名稱?單個字母怎麼樣,比如e
?有CodeDom或Reflector的命名空間是否適合?在C#中使用一些合法的命名空間會導致其他.Net語言中的問題?是否有可能因某種原因選擇不符合Mono的名稱空間?您是否因使用編譯器或Visual Studio或Windows(或Linux)文件系統的原因而使用命名空間使您的生活變得困難?
感謝您的閱讀,並提前感謝您的幫助!
IMO,C#命名空間是完美的,所以我只是複製它們。我使用公司名稱或產品名稱代替'System'。這就是我所做的一切。 – BrunoLM 2010-09-17 15:16:29
@BrunoLM:完美是一個非常強大的詞,但我同意。 MS的命名空間是相當深思熟慮和組織。但是你也可以看看Java把命名空間放在一起的方式。來自.NET背景,我認爲Java的組織仍然更好,恕我直言。 – 2010-09-17 15:36:24
我喜歡有人問這個問題。起初我想,這是一件小事;但實際上,作爲軟件開發人員,我們應該始終努力做出好的設計決策。這是一個很好的例子。而且我知道很多圖書館都有難以理解的命名空間名稱。 – 2010-09-17 15:55:29