在 .NET 平臺(tái)和 C# 開發(fā)中,遵循一致的命名規(guī)則是確保代碼可讀性、可維護(hù)性和團(tuán)隊(duì)協(xié)作效率的關(guān)鍵。
1. 類和接口的命名
- ? 類名:使用帕斯卡命名法(PascalCase),即每個(gè)單詞的首字母大寫,不包含下劃線。類名應(yīng)為名詞或名詞短語,避免使用縮寫(除非是廣泛認(rèn)可的縮寫)。例如:
public class BankAccount { }
- ? 接口名:接口名稱以大寫字母
I
開頭,后跟帕斯卡命名法。例如:public interface ISortAlgorithm { }
2. 方法和屬性的命名
- ? 方法名:使用帕斯卡命名法,通常為動(dòng)詞或動(dòng)詞短語,清晰表達(dá)方法的功能。例如:
public UserInfo GetUserInfo(int userId) { }
- ? 屬性名:使用帕斯卡命名法,通常為名詞或名詞短語。例如:
public string FirstName { get; set; }
- ? 布爾屬性:布爾屬性通常以
Is
、Can
或 Has
開頭,例如 IsEnabled
、CanExecute
。
3. 變量和字段的命名
- ? 局部變量和參數(shù):使用駝峰命名法(camelCase),即第一個(gè)單詞小寫,后續(xù)單詞首字母大寫。例如:
public void CalculateTotal(decimal totalPrice) { }
- ? 私有字段:私有字段以
_
開頭,后跟駝峰命名法。例如:private string _userName;
- ? 靜態(tài)字段:靜態(tài)字段以
s_
開頭,后跟駝峰命名法。例如:private static int s_totalCount;
- ? 線程靜態(tài)字段:線程靜態(tài)字段以
t_
開頭。
4. 常量的命名
- ? 常量名:使用全大寫字母,單詞間用下劃線分隔。例如:
public const int MAX_USERS = 1000;
5. 枚舉的命名
- ? 枚舉類型:使用帕斯卡命名法,非標(biāo)記枚舉使用單數(shù)名詞,標(biāo)記枚舉使用復(fù)數(shù)名詞。例如:
public enum UserState { Success, Fail }
6. 命名空間的命名
- ? 命名空間:使用帕斯卡命名法,并遵循反向域名表示法。例如:
namespace MyCompany.MyProduct { }
7. 其他注意事項(xiàng)
- ? 避免縮寫:除非是廣泛認(rèn)可的縮寫,否則盡量避免使用縮寫。
- ? 避免僅靠大小寫區(qū)分標(biāo)識(shí)符:例如,不要同時(shí)使用
int x
和 int X
。 - ? 避免在不同作用域中重名:例如,不要在局部變量和全局變量中使用相同的名稱。
- ? 復(fù)數(shù)類型命名:集合或數(shù)組優(yōu)先使用復(fù)數(shù)形式,例如
userNames
或 userNameList
。
8. 常見命名規(guī)則
8.1 駝峰命名法(CamelCase)
規(guī)則:
- ? 第一個(gè)單詞的首字母小寫,后續(xù)單詞的首字母大寫。
示例:
firstName // 變量名
lastName // 變量名
calculateTotalPrice // 函數(shù)名
8.2 蛇形命名法(Snake_Case)
規(guī)則:
示例:
first_name // 變量名
last_name // 變量名
calculate_total_price // 函數(shù)名
8.3 帕斯卡命名法(PascalCase)
規(guī)則:
示例:
FirstName // 變量名
LastName // 變量名
CalculateTotalPrice // 函數(shù)名
8.4 大寫常量命名法(SCREAMING_SNAKE_CASE)
規(guī)則:
示例:
MAX_SIZE // 常量名
PI // 常量名
8.5 匈牙利命名法(Hungarian Notation)
規(guī)則:
- ? 在變量名前添加前綴,表示變量的類型或用途。例如:
8.6 其他命名規(guī)則
- ? 單詞之間用短橫線
-
分隔,常用于 HTML 類名、CSS 屬性等。例如:first-name
、calculate-total-price
。
- ? Upper CamelCase(大駝峰命名法):
- ? 與帕斯卡命名法類似,但通常用于特定場(chǎng)景,如某些語言的模塊名或包名。
https://learn.microsoft.com/zh-cn/dotnet/fundamentals/code-analysis/style-rules/naming-rules
該文章在 2025/3/24 17:10:21 編輯過