2012-05-10 163 views
3

我正在考慮在自定義框架的名稱空間中使用帶有變音符號(例如,ō)的字符。這個想法已經成爲區分產品的一種方式,但我想確定這不是一個壞主意,如果有什麼關於它會在稍後回來咬我。我還沒有看到在我的搜索中使用特殊字符的命名空間的其他例子,也沒有關於這個主題的任何類似的討論,這讓我停下來繼續走下去。命名空間中的特殊字符

我最初考慮用一個變音標記來命名組件,但我碰到的第一個showstopper是試圖對組件進行數字簽名。我無法讓特殊字符出現在命令提示符中,所以我得到了無效的輸入錯誤。也許還有另一種解決方法呢?

我意識到的一個問題是,它使得在Visual Studio中輸入命名空間更具挑戰性。我不認爲這是一個主要問題,但是,由於角色將接近我使用的單詞的末尾,因此這個單詞將會相當獨特,而對於智能感知,這不應該是一個太大的問題。

考慮下面的例子中,包含在裝配Macron.dll:

namespace Macrōn.Library 
{ 
    public class MyLibrary 
    { 
     public string MyProperty { get; set; } 
    } 
} 

似乎存在與產生和使用該Macron.dll沒有任何問題,並且不存在問題區分這個例子Macrōn.Library命名空間。該文件,文件夾,項目&解決方案名稱Macrōn似乎沒有導致任何問題,並且似乎任何問題都與源代碼管理齊頭並進。

在程序集和命名空間中使用變音標記時,缺少其他注意事項或缺少的東西嗎?解決我的問題簽署大會的任何想法?這種方法是否會失敗?它是否真的不值得實施,因爲它可能會令人困惑或難以使用?

這會變成很多工作以便稍後撤消,所以我想知道在我深入這個之前我是否在拍攝腳部。

謝謝。

回答

7

我想確定這不是一個壞主意,如果有什麼關於它會在以後回來咬我。

它是有效的。許多混淆器會將名稱空間/類型更改爲具有unicode字符,其中一些甚至不可打印,從而使反向工程更加困難。

這就是說,如果這是一個別人會消費的公共框架,我會勸阻它。這將迫使任何使用該名稱空間的人將其源文件保存爲Unicode/UTF8,如果他們不這樣做,則ñ字符可能會被替換爲?。然後它不再編譯。

阿列克謝也做了很好的評論。我不知道如何輸入除複製並粘貼之外的ō字符。那肯定會減慢我的速度。

+3

+1。大多數人也無法在代碼中(更重要的是)在搜索引擎中輸入它。和Stackoverflow分析器不正確處理這樣的名稱:)。 –

+0

謝謝,只是我正在尋找的洞察力。 –

2

我想要添加到vcsjones回答是,不是每個人都使用的Visual Studio,所以你應該不是爲了讓任何人都更容易些依託智能感知。

我意識到的一個問題是,它使得輸入命令空間在 Visual Studio更具挑戰性。我並不認爲這是一個主要問題,但是,由於字符將接近單詞的結尾,因此我將使用該單詞,這個單詞將是相當獨特的,並且對於智能感知,這個 應該不會太大問題

如果我必須解決這個問題,我會非常惱火地使用其他人的圖書館。

+1

+1表示「你不應該依靠智能感知來讓任何人都更容易」。 – vcsjones

+0

非常好的一點! –