开发规范
为了快速实现接口交互,方便沟通,需要对代码的规范进行一系列的限制。本文根据C#/Javascript/数据库语言的特点,规定符合实际开发场景的规范。
命名风格
- 【强制】代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。
- 【强制】代码中的命名拼音严禁缩写。
- 【强制】类名/方法名/属性名使用大写驼峰命名,缩写术语除外。
- 【强制】成员变量使用小写驼峰命名。
- 【强制】常量命名全部大写,并以下划线间隔。
- 【强制】接口名以I开头,其它名称不在命名中加前后缀以示类型(如字典类型的个人信息,直接使用UserInfos,而非使用DicUserInfo),但是加入语义词用以区分(如UserInfoDics)。原因在于,数据类型多样化以及前后端类型的不一致性,会造成误解,同时,IDE已经支持显示变量的数据类型,无须加前后缀用以区分。
- 【强制】同名类出现在两个不同的命名空间,同时又需要进行引用,此时,这两个命名空间都不得使用using引入 ,使用到其中的某类时,请使用全名限定,即
namespace.ClassName
。 - 【强制】命名空间使用大写驼峰命名,项目名称除外。
- 【推荐】非私有的数据项不得以
a
,b
之类的简捷方式命名,应以能够自释义的英文或拼音进行命名,以达到自解释的目的。 - 【推荐】枚举类型建议以E_开头,并加以复数的形式,虽然IDE已经提供分辨类型的提示,但是,以E_开头,可以在编写代码时,缩小提示的范围,进行快速编码。
- 【强制】所有public类型的成员,都需要编写注释说明。
类型 | 规范 | 样例 | 例外 | 反例 |
---|---|---|---|---|
属性 | 大写驼峰命名 | UserName | 无 | userName |
类名 | 大写驼峰命名 | UserInfo | 无 | userInfo |
成员变量 | 小写驼峰命名 | serverAddress | 无 | ServerAddress |
成员方法 | 大写驼峰命名 | Dispose | 无 | Dispose |
代码格式
- 【强制】所有代码缩进为四个空格。
- .net端如果{}中的代码块为空,则可以将{}放置在其之前代码的同一行(如
if(a==b){}
)。如果{}
内不为空,则{
与}
应各独占一行,且{}
不缩进,其内容缩进,如:
if(a == b)
{
t = b;
b = a;
a = t;
}
- javascript为了加强其前端调试时一屏所能阅读的行数,其遵循脚本代码的样式,如果{}中的代码块为空,则可以将{}放置在其之前代码的同一行(如
if(a==b){}
)。如果{}
内不为空,则{
与之前代码同一行,而}
独占一行,且}
不缩进,其内容缩进,如:
if(a == b){
t = b;
b = a;
a = t;
}
javascript
行尾必须有;
。项目中不得使用require
,其应使用import
进行代替。- 【建议】变量与任何其它关键字或符号之间,应该保持有一个空格。
- 【强制】注释的
//
与文字之间,应该有一个空格。 - 【强制】链式调用,如果需要换行,则要相对于首行行首进行四个空格的缩进。多个参数的方法调用,如果其参数需要换行,则所有参数需要进行四个空格的缩进,且
,
置于结尾,右括号单独一行,与方法名(或方法名前的.
)对齐。
StringBuilder sb = new StringBuilder();
sb.Append("")
.Append("")
.Append(&#