爲什麼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. 重寫規則與屬性URLS
- 2. Java標識符解析規則
- 3. 定義規則標識符ANTLR
- 4. 阿帕奇重寫規則:不良標識定界符
- 5. 日本COBOL代碼:G文字和標識符的規則?
- 6. 大括號和nginx重寫規則
- 7. 重寫規則和數字符號「#」
- 8. Objective-C屬性規則
- 9. HTML5數據 - *屬性規則?
- 10. 的.htaccess和重寫規則
- 11. 重寫規則連字符
- 12. .NET的大多數靈活性規則引擎
- 13. 授權名稱不符合標識符命名規則(DB2 SQL)
- 14. .net和屬性屬性
- 15. 使用此標識符的函數的javascript作用域規則
- 16. Nginx規則的大小寫位置
- 17. 無法識別的屬性'fcnMode'。請注意,屬性名稱區分大小寫
- 18. yii中屬性的唯一值規則
- 19. DOM中屬性+同級的CSS規則
- 20. Nginx的主題標籤重寫規則
- 21. 重寫規則的mod_rewrite規則
- 22. 帶重寫規則的法語字符
- 23. 標識符的ECMAScript規範2017年
- 24. IIRF重寫Condintion和重寫規則
- 25. Rails大小寫/多化規則
- 26. 的makefile隱性和顯性規則
- 27. 重寫規則
- 28. 重寫規則
- 29. 重寫規則
- 30. C#:當屬性標識符被稱爲字符串時訪問類屬性
我覺得很簡單的原因是,不是每個人都知道所有的規則,或者也許是在規則寫下來之前作出的決定。 –
可能會爲智能感知提供更多賣點!或者更可能是因爲這是傳統寫法是unicode符號的方式:https://en.wikipedia.org/wiki/Unicode – enricoariel