命名警告
命名警告支援遵守 .NET Framework 設計方針的命名慣例。
在本節中
規則 |
說明 |
---|---|
這項規則假設名稱中包含 "reserved" 的列舉成員目前並未使用,但是在未來版本會是重新命名或移除的替代符號 (Placeholder)。 重新命名或移除成員是中斷變更。 |
|
事件的名稱會以 "Before" 或 "After" 為開頭。 若要命名在特定序列 (Sequence) 中引發的相關事件,請使用現在式或過去式表示動作序列相對的位置。 |
|
公用的列舉具有 System.FlagsAttribute 屬性,而且其名稱不能以 "s" 做結尾。 以 FlagsAttribute 標記的型別擁有複數形的名稱,因為這個屬性表示可以指定一個以上的值。 |
|
外部可見識別項的名稱包含一個或多個 Microsoft 拼字檢查程式庫無法辨識的字。 |
|
因為以 Common Language Runtime 為目標的語言不需要區分大小寫,因此,命名空間、型別、成員和參數的識別項不能只有大小寫的不同。 |
|
外部可見介面的名稱沒有以大寫 "I" 開頭。 外部可見型別或方法上泛型型別參數的名稱沒有以大寫 "T" 開頭。 |
|
外部可見成員中的參數名稱包含資料型別名稱,或外部可見成員的名稱包含語言特定的資料型別名稱。 |
|
根據慣例,只有特定程式設計項目的名稱會以特定的前置字元做為開頭。 |
|
依照慣例,只有擴充特定基底型別或實作特定介面的型別名稱,或是從這些型別衍生的型別名稱,應以特定保留的後置字元結尾。 其他型別名稱不得使用這些保留的後置字元。 |
|
依照命名規範的要求,列舉的複數名稱代表可以同時指定多個列舉值。 |
|
在覆寫階層架構中一致的參數命名方式,會增加方法覆寫的可用性。 與基底宣告中的名稱不同之衍生方法中的參數名稱,可能會造成方法為基底方法的覆寫或為方法的新多載而混淆。 |
|
參數名稱應該要能傳達參數的意義,而成員名稱應該要能傳達成員的意義。 兩者相同屬罕見的設計。 如果將參數命名為與成員名稱相同的名稱,則不僅會不容易了解,也會讓程式庫難以使用。 |
|
資源字串中的每個字都可依大小寫分割成語彙基元 (Token)。 連續兩個語彙基元的組合都由 Microsoft 拼字檢查程式庫進行檢查。 如果可以辨識,這個字便會產生規則違規。 |
|
資源字串包含一個或多個 Microsoft 拼字檢查程式庫無法辨識的字。 |
|
型別名稱不得符合 .NET Framework Class Library 中定義的命名空間名稱。 違反此規則會降低程式庫的可用性。 |
|
根據慣例,識別項名稱不包含底線 (_) 字元。 此規則會檢查命名空間、型別、成員和參數。 |
|
公用或保護之成員的名稱是以 "Get" 開頭,否則需符合公用或保護之屬性的名稱。" Get" 方法和屬性應該具有能清楚區分函式的名稱。 |
|
命名空間 (Namespace) 名稱或型別名稱符合程式語言中的保留關鍵字。 命名空間和型別的識別項不應該符合語言所定義的關鍵字,而這些語言的目標為 Common Language Runtime。 |
|
外部可見的識別項名稱包含有替代慣用詞彙存在的詞彙。 或者該名稱包含 "Flag" 或 "Flags" 一詞。 |
|
依照慣例,參數名稱是使用 Camel 命名法的大小寫慣例,而命名空間、型別和成員名稱則使用 Pascal 命名法的大小寫慣例。 |
|
識別項的名稱包含多個單字,而其中至少有一個單字是大小寫不正確的複合字。 |
|
因為型別資訊必須由開發工具提供,所以列舉型別成員的名稱不能以型別名稱做為開頭。 |
|
依照慣例,擴充某些基底型別 (Base Type) 或實作某些介面的型別名稱,或從這些型別衍生的型別,都具有與基底型別或介面關聯的後置字元。 |