首页 > 代码库 > 项目开发规范

项目开发规范

开发准备文件
系统开发前必须完成需求文档与系统设计文档的整理,使用当前文档模板,文档结构参考GBT8567-2006,开发前文档中的内容必须至少包括:
1.    需求文档:包含所有与用户交流的内容。
2.    系统设计文档:包含需求分析、建设计划、系统结构图、拓扑结构图、接口说明、系统模块、系统界面结构图、数据库结构及关系图、数据字典。


数据库命名规则
数据库名称使用与业务相关的有意义的1~2位英文单词,每个英文单词首字母大写。
数据表名称使用与业务相关的有意义的英文单词,单词之间使用下划线“_”进行分隔(模块名_业务名),字母全部小写。
字段名称最少使用两个英文单词,单词之间使用下划线“_”进行分隔,字母全部小写。
在数据库中不用在字段上进行描述,在实体类与设计文档的数据库结构中必须有字段描述。
数据表的第一个字段必须是ID字段,ID字段的名称为表名+下划线+ID(表名_ID),数据类型为nvarchar(32),记录为无下划线的GUID字符串。
数据表不允许使用datetime等日期类型,遇到日期类型的字段需要拆分成日期字段与时间字段,日期字段的数据类型为nvarchar(10),记录为“XXXX-XX-XX”,时间字段为nvarchar(8),记录为“XX:XX:XX”,如果时间要记录到毫秒则为nvarchar(12),记录为“XX:XX:XX.XXX”。
数据库不建立主外键关系,业务表与字典表之间使用code关联,不允许使用ID关联。


系统开发规则
项目命名规则
解决方案命名规则为“公司名.客户名.系统名”英文,如“SinoSoft.Rcscbb.FirstAid”,每个英文单词的首字母大写。
项目名称命名规则为“公司名.客户名.系统名.项目名”英文,每个英文单词的首字母大写,如“SinoSoft.Rcscbb.FirstAid.Entity”。
第三方插件统一放Item解决方案文件夹中,根据插件功能创建子目录。

实体层命名规则
实体层的类名称与数据表名称对应,不含表名中的下划线,英文单词首字母大写。
类、字段和全局变量必须进行注释。
分类字段必须使用枚举表示,枚举名与枚举值都使用英文表示,枚举与值必须都有注释。
业务层命名规则
保存位置
1.    Helper文件夹保存第三方帮助类。
2.    Log文件夹保存日志相关类。
3.    NhibernateModule文件夹保存Nhibernate工厂类。
4.    PublicClass文件夹保存系统公共类。
5.    Utility文件夹保存数据库操作业务类。


命名规则
1.    类名使用2~3个英文单词,每个英文单词首字母大写。
2.    数据库操作业务类的命名规则为“实体类名+Utility”。
3.    方法名使用2~3个英文单词,每个英文单词首字母大写。
4.    全局字段名使用2~3个英文单词,每个英文单词首字母大写。
5.    局部字段名使用1~2个英文单词,字母全部小写。


注释规则
类、枚举、枚举值、方法、属性、特殊字段必须进行注释,功能性方法必须根据流程进行段落注释。
1.    变量注释
//注释
2.    类、枚举、枚举值、方法、属性注释
/// <summary>
/// 注释
/// </summary>
3.    段落注释
#region 注释
段落代码
#endregion
4.    方法注释
/// <summary>
/// 方法完成的功能描述
/// 创建或修改时间
/// </summary>
/// <param name="param1">参数1说明</param>
/// <param name="param2">参数2说明</param>
/// <param name="param3">参数3说明</param>
/// <returns>返回值说明</returns>
项目组每天例会进行代码质量审查,根据方法注释中的时间,查找当天创建或修改的方法,进行代码时间复杂度优化、方法复用和代码规范审查,审查完成后删除创建或修改时间。


表现层命名规则
系统如无特殊需求,系统登录使用FORM验证的方式登录,登录时完成权限的客户端保存,用户及权限等信息使用Globals公共类。
系统如无特殊需求,目录根据业务系统的模块进行创建,根据子模块创建子目录。
目录使用1~2个英文单词命名,字母全部小写。
页面使用1~2个英文单词命名,字母全部小写。
系统如无特殊需求,页面框架使用layui+bootstrap。

项目开发规范