C#开发手册
一、 編碼規范
(一)【強制】命名規范:所有命名(類名、屬性名、變量名、常量名、屬性名)必須以字母開頭(a-z、A-Z),不能以特殊字符(_、$)開頭。
1、【強制】類名命名規則:大駝峰命名法【DTO、POCO、VO等除外】
public class UserInfo{}
2、【強制】屬性命名規則:大駝峰命名法
public string UserInfo { get; set; }
3、【強制】字段、參數、成員變量、局部變量命名規則:小駝峰命名法
public string userName;
public string GetUserName(string userId) { return "userName"; }
4、【強制】方法/函數命名規則:大駝峰命名法
public int GetUserInfo() { }
5、【強制】常量命名規則:名稱全部大寫,單詞間用下劃線_分開
public const string USER_NAME = "userinfo";
6、【強制】DTO、POCO、VO命名規則:大駝峰命名法+DTO/VO/POCO等
public class UserInfoDTO { }
public class UserInfoVO { }
public class UserInfoPOCO { }
7、【強制】命名空間命名規則:大駝峰命名法
namespace UserInfo { }
8、【強制】枚舉命名規則(枚舉名稱采用大駝峰命名規則,枚舉成員所有名稱也使用大駝峰命名法)(沒有特殊情況的話,枚舉成員建議從默認值0開始)
public enum UserState
{
Success,
Fail
}
9、【強制】代碼中所有成員禁止直接使用中文的命名方式,禁止使用中文拼音命名(一些通用的命名除外:比如城市可以采用beiJing、shangHai這樣的命名規則是可以的),禁止使用中英文混合命名方式,禁止出現a、b、c、aa、ss、x、xx等毫無意義的命名方式。
10、【推薦】復數類型(集合類、數組等)命名規則:優先以小寫字符s結尾,如果單詞最后的字母就是s或其他不適合s結尾的單詞,可以使用復數類型的類型名稱結尾(如List、Array等結尾)。前面規則如果都不好命名,可自行命名。
public List<string> userNames { get; set; }
public string[] userNameArray { get; set; }
public List<string> userNameList { get; set; }
11、【強制】接口命名規則:以大寫字母I開頭+類名稱
public interface IUserInfo { }
12、【強制】異常類命名規則:大駝峰命名法+Exception
public class UserInfoException { }
13、【強制】項目命名規則:大駝峰命名法,各個字母之間用字母(.)隔開。
14、【推薦】業務層和數據層名命名規則:業務層類庫名稱命名規則:以Service結尾、數據層類庫命名規則:以Repository結尾。
1)、獲取數據的方法以Get開頭(加上要獲取的對象名)。如獲取單個對象,可以使用Get()、GetUserInfo()。獲取復數對象(集合類),可以使用Gets()、GetUserInfos()。
public class UserInfoService
{
/// <summary>
/// 獲取一條用戶信息【命名規則:直接用Get命名】
/// </summary>
/// <param name="userId">用戶Id</param>
/// <returns></returns>
public UserInfo Get(string userId)
{
return null;
}
/// <summary>
/// 獲取一條用戶信息【命名規則:Get+對象名】
/// </summary>
/// <param name="userId">用戶Id</param>
/// <returns></returns>
public UserInfo GetUserInfo(string userId)
{
return null;
}
/// <summary>
/// 獲取多條用戶信息【命名規則:Gets】
/// </summary>
/// <returns></returns>
public IEnumerable<UserInfo> Gets()
{
return null;
}
/// <summary>
/// 獲取多條用戶信息【命名規則:Get+對象名復數】
/// </summary>
/// <returns></returns>
public IEnumerable<UserInfo> GetUserInfos()
{
return null;
}
}
2)、新增數據的方法以Insert開頭(加上要獲取的對象名)。如往數據庫中新增一條記錄,方法命名為Insert()、InsertUserInfo()。往數據庫中新增多條記錄,方法命名為Inserts()、InsertUserInfos()。
public class UserInfoService
{/// <summary>
/// 新增一條用戶信息【命名規則:Insert命名】
/// </summary>
/// <param name="userInfo">用戶信息</param>
/// <returns></returns>
public int Insert(UserInfo userInfo)
{
return 1;
}
/// <summary>
/// 新增一條用戶信息【命名規則:Insert+對象名】
/// </summary>
/// <param name="userInfo">用戶信息</param>
/// <returns></returns>
public int InsertUserInfo(UserInfo userInfo)
{
return 1;
}
/// <summary>
/// 新增多條用戶信息【命名規則:Inserts】
/// </summary>
/// <param name="userInfos">用戶信息</param>
/// <returns></returns>
public int Inserts(List<UserInfo> userInfos)
{
return 1;
}
/// <summary>
/// 新增多條用戶信息【命名規則:Insert+對象名復數】
/// </summary>
/// <param name="userInfos">用戶信息</param>
/// <returns></returns>
public int InsertUserInfos(List<UserInfo> userInfos)
{
return 1;
}
}
3)、刪除數據的方法以Delete/Remove(加上要刪除的對象名)。如刪除數據庫中的一條記錄,方法命名為Delete()、DeleteUserInfo()。刪除數據庫中的多條記錄,方法命名為Deletes()、DeleteUserInfos()。
public class UserInfoService
{/// <summary>
/// 刪除一條用戶信息【命名規則:Delete】
/// </summary>
/// <param name="userId">用戶Id</param>
/// <returns></returns>
public int Delete(string userId)
{
return 1;
}
/// <summary>
/// 刪除一條用戶信息【命名規則:Delete+對象名】
/// </summary>
/// <param name="userId">用戶Id</param>
/// <returns></returns>
public int DeleteUserInfo(string userId)
{
return 1;
}
/// <summary>
/// 刪除多條用戶信息【命名規則:Deletes】
/// </summary>
/// <param name="userIds">要刪除的用戶Id集合</param>
/// <returns></returns>
public int Deletes(List<string> userIds)
{
return 1;
} /// <summary>
/// 刪除多條用戶信息【命名規則:Delete+對象名復數】
/// </summary>
/// <param name="userIds">要刪除的用戶Id集合</param>
/// <returns></returns>
public int DeleteUserInfos(List<string> userIds)
{
return 1;
}
}
4)、修改數據的方法以Update開頭(加上要修改的對象名)。如修改一條數據信息,方法命名為Update()、UpdateUserInfo()。修改多條數據的信息,方法命名為Updates()、UpdateUserInfos()。
public class UserInfoService
{/// <summary>
/// 修改一條用戶信息【命名規則:Update】
/// </summary>
/// <param name="userInfo">用戶信息</param>
/// <returns></returns>
public int Update(UserInfo userInfo)
{
return 1;
}
/// <summary>
/// 修改一條用戶信息【命名規則:Update+對象名】
/// </summary>
/// <param name="userInfo">用戶信息</param>
/// <returns></returns>
public int UpdateUserInfo(UserInfo userInfo)
{
return 1;
}
/// <summary>
/// 修改一條用戶信息【命名規則:Update】
/// </summary>
/// <param name="userInfo">用戶信息</param>
/// <returns></returns>
public int Updates(UserInfo userInfo)
{
return 1;
}
/// <summary>
/// 修改一條用戶信息【命名規則:Update+對象名】
/// </summary>
/// <param name="userInfo">用戶信息</param>
/// <returns></returns>
public int UpdateUserInfos(UserInfo userInfo)
{
return 1;
}
}
總結
- 上一篇: 借用【.bat 批处理】实现同时播放多个
- 下一篇: SEO算法:如何通过PageRank算法