代码规范在研发项目团队中有着重要作用,团队统一代码规范,有助于提升代码可读性以及工作效率。
代码规范主要包括命名、版式、注释等几个方面:
其中命名包括变量、类、方法、文件名、数据库、表、字段、接口等方面。
版式包括缩进、换行、对齐、大括号、循环体、逻辑判断等方面。
注释包括包注释、文件注释、类注释、方法注释、参数注释、变量注释、代码片段注释等。
那么微软官方本身也是拟了一些草稿规范的,传送门:C# 6.0 草稿规范,拜读了官网后,感觉就是一个标准的官方发言,然后分段整理整理了一下。
PS:当前更新命名规范,更多还在持续整理中。
命名规范:
所有命名(类名、属性名、变量名、常量名、属性名)必须以字母开头(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、【强制】项目命名规则:大驼峰命名法,各个字母之间用字母(.)隔开
XiongZe.ProjectManagement.Services
14、【推荐】业务层和数据层名命名规则:业务层类库名称命名规则:以Service结尾、数据层类库命名规则:以Repository结尾
编码规范可以改善软件的可读性,可以让程序员尽快而彻底地理解新的代码。
为了执行规范,每个软件开发人员必须一致遵守编码规范:
高质量的代码往往具有如下特质
合理使用编程实践,设计和语言特性决定了示例代码是否可以很好满足上述特性。
以上,只是规范不是规定,所以不是强制要求一定要这样做,大家自取所需就好了。
如有不合理之处,也接受大家的批评指正。