爲什麼System.Text.Encoding.UTF8
屬性的名稱全部大寫?根據Capitalization Rules for Identifiers和UTF是超過2個字符的縮寫這一事實,該屬性應該被命名爲System.Text.Encoding.Utf8
或者我錯了嗎?標識符和屬性的.NET大寫規則System.Text.Encoding.UTF8
回答
這是全部大寫,因爲它是這樣編寫的。
.NET 1.0(和Encoding.UTF8
一直回到那裏)的設計和實現早於當前形式的框架設計指南,更不用說它們的實施了。因此,您可以在這些指導方針的框架內發現大量違規行爲。一個小例子:
System.Security.Cryptography.RNGCryptoServiceProvider
(和很多其他類的System.Security.Cryptography
)System.Text.ASCIIEncoding
System.Runtime.InteropServices.COMException
而系統的搜索可能會出現更多。
這並不像看起來那麼愚蠢:人們首先提出準則的原因是因爲他們注意到了這種不一致之處,然後坐下來想出一套最能反映當前情況的規則實踐。但是,要回過頭來改變現有類的大寫字母(並打破流程中的現有軟件)是不值得的。
對於新類,建議遵循指導原則,即使正確的名稱如'Utf8'或'Ascii'在不正確的旁邊看起來很奇怪? –
@RadekMicek:「看起來很奇怪」不是你可以正式化的東西,所以是的。在您自己的類中拼寫'ASCII'沒有任何必要的理由,因爲框架中也存在'ASCIIEncoding'類。想象一下,如果有人需要跟蹤所有的異常情況會有多麼不方便 - 對於任何你想創建的類,你都必須先檢查框架!現在,如果你是在現有的'System.Text'命名空間中添加一個新類,那麼事情可能會有所不同,那麼一致性可能會勝過形式化。但是這是在一個名稱空間內。 (我不知道微軟的本地政策。) –
- 1. peoplePickerNavigationController:shouldContinueAfterSelectingPerson:屬性:標識符:
- 2. 重寫規則與屬性URLS
- 3. 定義規則標識符ANTLR
- 4. Java標識符解析規則
- 5. 阿帕奇重寫規則:不良標識定界符
- 6. 日本COBOL代碼:G文字和標識符的規則?
- 7. HTML屬性標記標識符?
- 8. 大括號和nginx重寫規則
- 9. .Net/CLR標識符
- 10. 隊標識符區分大小寫
- 11. ANTLR是否有內置unicode標識符開始和標識符繼續字符集的規則?
- 12. 重寫規則和數字符號「#」
- 13. HTML5數據 - *屬性規則?
- 14. Objective-C屬性規則
- 15. 獲取規則屬性
- 16. 規則屬性的兼容性
- 17. 的.htaccess重寫規則和&&
- 18. 的.htaccess和重寫規則
- 19. 的.htaccess和重寫規則
- 20. .net和屬性屬性
- 21. 何時Javascript屬性不是標識符?
- 22. htaccess - 如何重寫小寫和大寫urls規則
- 23. .NET的大多數靈活性規則引擎
- 24. 重寫規則連字符
- 25. 授權名稱不符合標識符命名規則(DB2 SQL)
- 26. 使用此標識符的函數的javascript作用域規則
- 27. 給定唯一標識符的Wikidata值和屬性?
- 28. NodeJS和PDFkit:'margin'屬性給出「意外的標識符」錯誤?
- 29. .htaccess具有不同屬性的相同重寫規則
- 30. 寫業務規則鏈接可能不存在的屬性
我覺得很簡單的原因是,不是每個人都知道所有的規則,或者也許是在規則寫下來之前作出的決定。 –
可能會爲智能感知提供更多賣點!或者更可能是因爲這是傳統寫法是unicode符號的方式:https://en.wikipedia.org/wiki/Unicode – enricoariel