程序编码规范
制作:
审核:
批准:
发布日期:
江 苏 京 海 博 源 信 息 技 术 有 限 公 司
程序编码规范
修订历史记录
日期
2011-7-21
版本
<1.0>
说明
编写
作者
徐新
2/6
程序编码规范
一、 目的
为了保证编写出的程序都符合相同的规范,保证一致性、统一性而建立的程序编码规范。
二、 范围
适用于研发部的软件开发工作。
三、 定义
定义:无
四、 职责
所有开发人员必须按照此规范进行系统的编码工作,项目经理职责对项目中各程序
编码进行监督、检查。
测试人员在进行程序验收时,必须按照此规范进行程序的验收工作,对不按照此规
范进行程序编码的相应的编码人员,将进行过失单处罚,并通知相应的项目经理。
所有人员如对编码规范有异议,可提请项目组讨论同意后修改此规范,以按照新
规范进行开发工作。
五、 规范内容
1、代码格式规范
所有的缩进为 4 个空格。
在代码中垂直对齐左括号和右括号。
代码行的最大长度。为了防止在阅读代码时不得不滚动源代码编辑器,每行代
码在 1024*800 的显示频率下不得超过一显示屏(136 个英文字符)
。如果包括
注释在内不得超过 1.5 显示屏的长度(176 个英文字符)
。
当一行被分为几行时,通过将串联运算符放在每一行的末尾而不是开头,清楚
地表示没有后面的行是不完整的。例如:
string strSql ="INSERT INTO PAS_CM_RewardPunlish(RPLevelDetail,RPType, “+
“UserGUID,RPID,Memo,RPReason,RPDate,Status,AddIP , “ +
“RPType,UserGUID,RPID,Memo,RPReason,RPDate,Status,AddIP";
编写 SQL 语句时,对于关键字使用全部大写;对于数据库元素(如表、列和
视图)使用大小写混合。
将大的复杂代码节分为较小的、易于理解的模块。为了便于代码的阅读及维护,
规定每个方法、函数的代码最长不得超过 100 行。
2、接口规范
接口的命名规范如下:
给接口名称加上字母 I 前缀,以指示该类型为接口。
用名词或名词短语,或者描述行为的形容词命名接口。例如,接口名称
3/6
程序编码规范
IComponent 使用描述性名词。接口名称 ICustomAttributeProvider 使
用名词短语。名称 IPersistable 使用形容词。各英文单词或缩写单词的
首字母必须大写。接口中使用的英文单词数不得超过三个英文单词。
使用 Pascal 大小写。
少用缩写。
在定义类/接口对(其中类是接口的标准实现)时使用相似的名称。两个
名称的区别应该只是接口名称上有字母 I 前缀。使用要编写 Employee 类
的接口,则其接口为 IEmployee。这样在编码时就能很容易的辨认出某类
的接口及某接口对应的类。
不要使用下划线字符 _。
接口方法的命名:
接口方法的名称 = 代表接口功能的动词 或 由代表接口功能的动词+
代表接口操作对象的名称组成。
其中,动词由一个英文单词组成。
一般不允许使用英文的缩写。
操作对象的名称由一个或三个以下(包括三个)英文单词或英文单词缩写
组成。
每个英文单词或缩写单词的首字母应大写。
例如:
得到用户名的接口方法:GetUserName
更改用户口令的接口方法:ChangePassword
用户管理接口 IEmployee 增加用户的接口方法:Add
得到用户资料的接口方法:GetUserInfor
系统默认的一此操口方法的定义如下:
接口方法功能
接口方法名称
新增数据
Add
更新数据
Update
删除数据
Delete
查询数据
GetMyInfo
3、类的命名规范
模型层类(实体类)的命名:
类名:数据库表名(不含前后缀,且是单数) + Infor
其成员只有属性
数据访问层类的命名:实体类(不含 Infor)+ Service
业务逻辑层的命名:实体类(不含 Infor)+ Manager
4、类的方法命名
类的方法命名规范
命名规范
方法名应该能够标识事物的特性,使用名词或名词短语命名类。
方法名尽量不使用缩写,除非它是众所周知的。
方法名可以由三个以下的单词或单词缩写组成,但通常不应多于三个。每个英
文单词或缩写单词的首字母必须大写。
使用 Pascal 大小写。
4/6
程序编码规范
不要使用类型前缀,如在类名称上对类使用 C 前缀。例如,使用类名称
FileStream,而不是 CFileStream。
不要使用下划线字符 (_)。
有时候需要提供以字母 I 开始的类名称,虽然该类不是接口。只要 I 是作为
类名称组成部分的整个单词的第一个字母,这便是适当的。例如,类名称
IdentityStore 是适当的。
参数命名使用 Camel 命名规则,首字母小写。
5、类属性的命名规范
所有的类属性必须使用 get、set 语句定义。不允许 public 类型的字段。
对于实体实的属性名称与对应的数据库中的表字段名称完全一致。
属性的名称应该能够标识属性所表达事物的特性,使用名词或名词短语命名属
性。
属性的名称尽量不使用缩写,除非它是众所周知的。
属性的名称可以由三个以下的单词或单词缩写组成,但通常不应多于三个。每
个英文单词或缩写单词的首字母必须大写。
使用 Pascal 大小写。
不要使用下划线字符 (_)。
6、注释规范
注释规范
文件注释规范
文件注释必须放在文件的顶部
/*
* 作用:<对类的描述>
* 作者:<编写人>
* 日期:<为编写日期,格式如:2011-07-12>
*
* 修改 1
* 内容:<第一次修改内容说明>
* 修改人:
* 日期:<修改日期>
*
*/
类的注释
///
/// 类的描述
///
类的属性
///
/// 属性的描述
///
方法注释规范
///
/// 方法的说明
5/6
程序编码规范
///
/// 参数说明
/// 对返回值的说明,要尽可能的具体说明返回类型的值代表什么意思
代码间注释
单行注释
//<这是单行注释>
多行注释
/*这是多行注释 1
这是多行注释 2
这是多行注释 3*/
代码中遇到语句块时必须添加注释(if,for,foreach,……),添加的注释必须能够说明
此语句块的作用和实现手段(所用算法等等)
。
7、变量的命名规范
变量的命名规范
类模块级变量
变量名为能够代表变量含义的英文单词,单词的首字母必须大写
过程级变量
使用 Camel 命名规则。对于 string 类型,要求使用 str + Pascal 命名的方式。
6/6