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;
            }
        }

 

posted @ 2020-07-29 18:01  caoruipeng  阅读(1171)  评论(0编辑  收藏  举报