| 目標 | 慣例 | 範例 |
|---|---|---|
| 類別、結構、介面、列舉、委派、方法、屬性、事件、常數、公開欄位 | PascalCase | CustomerOrder, CalculateTotal, MaxRetries |
| 區域變數、方法參數、私有欄位 | camelCase | customerList, orderId, _firstName |
| 介面 | 前綴 I + PascalCase | IRepository, IDisposable |
| 私有/受保護實例欄位 | 前綴 _ + camelCase (或 m_) | _connectionString, m_userName |
| 自訂屬性類別 | 後綴 Attribute | ObsoleteAttribute, ValidateAttribute |
| 自訂例外類別 | 後綴 Exception | InsufficientFundsException |
| 泛型型別參數 | 單一大寫字母 (T, K, V) 或 T + 描述 | T, TKey, TValue |
ShowDialog(), SaveChanges(), GetUserById()IsValid(), HasPermission(), CanExecute()Async → GetDataAsync()OnEventName (受保護虛擬) / EventNameHandler (委派)int 不用 Int32, string 不用 String, object 不用 ObjectstrName → name, iCount → countis, has, can, should| 規則 | 說明 |
|---|---|
| 縮排 | 4 個空格 (Visual Studio 預設),不使用 Tab |
| 大括號 | 獨佔一行 (Allman 風格) |
| 行寬 | 建議 ≤ 120 字元 |
| using 指示詞 | System 命名空間優先,第三方次之,專案內部最後,群組間空一行 |
| 檔案結構 | 單一類別單一檔案,檔名 = 類別名 (+.cs) |
| 部分類別 | 多檔案時用 PartialClass.Part1.cs, PartialClass.Part2.cs |
///)欄位與屬性/方法間空一行分隔。
.editorconfig:跨編輯器統一風格