日期:2014-05-20  浏览次数:20889 次

系统命名规范
目录
1、编制目的………………………………………………………………2
2、范围……………………………………………………………………2
3、权责……………………………………………………………………2
4、说明……………………………………………………………………2
5、数据库设计命名规范…………………………………………………2
6、C#命名…………………………………………………………………4
7、脚本命名………………………………………………………………4
8、其它组件或功能文件命名………………………………………………4
9、其它命名………………………………………………………………4
10、附件1…… …………………………………………………………5
11、附件2…… …………………………………………………………5


1、编制目的
规范与指导杰仕密新系统规格说明,详细设计、数据库设计与编码实现,提高系统的可读行,提高程序易维护性。
2、范围
新开发软件系统 (不包含旧系统) 
3、权责
系统开发人员与维护人员、程序员、分析员,按本系统规范进行文文件编写与编码实现。


4、说明:
详细设计与数据库设计与编码采用全英文命名方法。如果对象由多个单词组成,则尽量取具有代表意义的单词组合。命名要求做到“望文生意”。
在详细设计过程中,根据每个模块的具体情况,选择设计图表与表达方法。
系统解决方案使用C#预定义而不要使用System名称空间中的别名,(如使用string而不是String,用object非Object),避免在同一个文件中放置多个类,除特别说明外,命名不要指明类型,如不要用strMyName来说明是string型的。

5、 数据库设计命名规范
5.1数据库表:
公司信息的表格可以命名为Company,也可以命名为CompanyInformation。
注:所有表格如果没有特别申明或沿用旧的系统,均由表自增长字段建立主键。
5.2字段命名
例:客户编号CustomerNO。
单据主表的自增长主键字段均命名为OrderID, 编号为OrderNO
数据库表格的自增长字段的命名为:功能+ID,如客户表的客户ID号为CustomerID
5.3索引
原始刷卡记录表主键索引:PK_OriginalCardRecord  
原始刷卡记录表员工ID索引:IX_OriginalCardRecord_EmployeeID
5.4外键关系
外键关系:FK_[主表]_[从表]_[字段名]
5.5视图
v_ + [自定命名]; 
例:员工信息视图v_Employee。
5.6存储过程:
sp_ + [自定命名]
自定命名除可运用上述编码原则, 另外可以加上数据处理的动词描述
例如:新增公司存储过程的命名sp_AddCompany
5.7触发器:同存储过程的命名方法一样
tr_+ [自定命名], 注意新增、删除与更新的命名规则
Delete trigger: tr_Delete [table name]  
Insert trigger : tr_Insert[table name] 
Update trigger: tr_Update [table name] 
5.8自定义函数
fn_[功能]
例如:时间格式fn_FormatTime
6、C#命名
6.1类的命名方式
按功能命名,按软件架构后缀,如销售业务管理类SaleManagment, 销售管理接口类SaleManagmentUI,销售管理数据库存取类SaleManagmentDAO,销售管理数据实体SaleManagmentData。
6.2接口命名
类似于类的命名方式,且在前面加I字母
例如员工接口 Interface IEmployee
6.3类说明:
类的变量、属性或方法等类成员的类型参照C#语法规范以及业务逻辑来确定。
6.4类变量、属性、事件命名
A、控件
工具控件:控件类型+功能类型,再参照Camel + 匈牙利命名法,如增加按钮控件butAdd。
注意:控件类型用控件的前三个简写字母组成,如TextBox为tex。几个特殊的控件,在简写重名的情况下取代表意义的字母命名,如DataGrid 与 DataList分别为dag与dal,Image与ImageButton分别为ima与imb。
第三方控件或系统控件在类型前加功能命名,如部门信息树视控件treDepartment。
自定义控件不用控件类型,直接在变量前加user即可,如部门树型控件userDepartment.
a) 类的全局变量、属性等: [变量名]
例如:客户姓名: CustomerName。
b) 类局部变量,private型变量,函数内部变量或函数参数,以小写开头。
例如客户姓名:customerName。
6.5函数参数命名
同类的局部变量命名规则相同。
6.6常量命名
参数:private const string PARM_PKID = “@PKID”; 
字段:public const string FIELD_CUSTOMERID = “CustomerID”;
表名:public const string TABLE_CUSTOMER = “Customer”;
6.7消息响应函数:
系统响应函数:按钮名称+“_”+事件名称,如增加按钮点击事件butAdd_Click()。
自定义的响应函数:类似“系统响应函数”。

7、脚本命名
说明:客户端脚本Javascript。
类似于C#命名
8、 其它组件或功能文件命名参照“类的命名方式”,如订单HTML文件:SalesOrderUI.htm.
9、其它命名
9.1单据的命名:[功能] + Doc + UI
9.2台帐列表命名:[功能]+List + UI
9.3查询接口命名:[功能]+ Search + UI
9.4框架接口命名:[功能] + UI,可能是HTML或aspx檔
9.5业务处理类命名(Business项目):按[功能]命名
9.6资料访问类命名(DataAccess项目):[功能]+DAO 
9.7数据实体类命名(DataDetail项目):[功能] + Data
9.8特殊变数命名
本系统特别定义类全局变量,按本规定命名:
A、 ///订单ID与订单编号:public int OrderID, public string OrderNO////
B、 订单接口内的订单业务全局变量public SalesOrder OrderBusiness,订单业务类的订单数据存取全局变量public SalesOrderDAO OrderDAO,订单接口类的订单数据实体变量public SalesOrderData OrderData。

附件1:C#注释样本
C#函数注释:用户登陆函数注释举例
/// <summary>
/// 用户登陆
/// </summary>
/// <param name="UserID">用户ID</param>
/// <param name="UserID">用户密码</param>
/// <returns>用户登陆成功返回true,否则返回false</returns>
public bool Login(string UserID,string passWord)
{
…………………
}

代码文件注释样本
/***************************************************************************************************
*Filename: ProductionOrderUI.cs
*Module: 生产单接口
*Copyright: 英泰克
*Version: 1.0
*Author: 刘亮全
*Created Date: 2005-10-26
*Last Modified Data: 2005-10-27