B3  《名称赋予基准》

B3 《名称赋予基准》

1.目的

本书是某某系统(以下简称“本系统”)以Java技术为背景、以Spring MVC为开发架构进行设计与编码时对名称赋予的基准,未规定之处需按编程规约进行命名。

2.文档及文件夹命名规范

(1)文档名称规范

大型系统的软件开发标准成果物种类有几百种,文件有成千上万个。如果不对命名进行规范,文档的管理将非常混乱。因此文档命名规范非常重要。

软件命名体系包含文档命名规约与代码命名规约,如附图B3-1所示。在本书姊妹篇《Java代码与架构之完美优化——实战经典》一书中介绍了基本代码命名规约体系,而本书介绍文档命名规约。

978-7-111-59294-5-Chapter13-29.jpg

附图B3-1 软件命名体系组成

文件命名规则:以开发阶段为横轴,以子系统、功能为纵轴进行归类划分,以“文件ID+文件成果物名称”的形式进行命名。

①文档ID。

每个文档都需要一个ID编号,以便文档在文件夹下排列及查询。根据是否与功能有关,分为两种情况。

a.与功能ID有关的文档命名规范。

文档ID具体构成:

第1、2位为开发阶段编号(例如:RA、ED、ID);

第3、4位为子系统编号(例如:YF);

第5~8位为功能编号(例如:DL01);

第9~10位为功能阶层内文档索引编号(01~99)。

其中,开发阶段与子系统编号之间用中横线“-”(半角)连接;功能编号与索引编号之间、索引编号与名称之间用下画线“_”(半角)连接,如下所示。

ID-YFDL01_01_登录概要设计.docx

b.与功能ID没有关系文档命名规范。

文档ID具体构成:

第1、2位为开发阶段编号(例如:RA、ED、ID);

第3、4位为子系统编号(例如:YF);

其中,开发阶段与子系统编号之间用中横线“-”(半角)连接;子系统编号与索引编号之间、索引编号与名称之间用下画线“_”(半角)连接,如下所示。

ID-YF_01_命名基准.docx

②文档名称。

文档名称是各个阶层文档成果物名称,如下所示。

ID-YFDL01_01_登录概要设计.docx

另外,各成果物还需要有附件时,要特别在名称里加上“附页+2位编号”提示,如下所示。

ID-YFDL01_01_登录概要设计_附页01.docx

③备份文件名称。

制作的文件或者式样变更需要备份目前文件时(在没有版本管理工具的情况下),需要在文件后面添加备份日期,如下所示。

ID-YF_01_命名基准_20170225.docx

(2)文件夹命名规范

文件夹命名亦非常重要,良好的文件夹层次有助于文档的归类与检索,如附图B3-2所示。

978-7-111-59294-5-Chapter13-30.jpg

附图B3-2 文件夹层次

文件夹命名规则:两位数字编号+开发流程名称。其中,第1位编号与流程名对应,第2位编号为预留编号(可以根据需要在各流程直接加一些别的文件,便于管理)。

根据需要亦可以增加如附表B3-1所示的文件夹。

附表B3-1 文件夹名称

978-7-111-59294-5-Chapter13-31.jpg

3.共通

(1)业务ID

【概要】业务组识别用代号。

【构成】开头3个缩写大写字母。

【例】ORG。

本项目业务代号如附表B3-2所示。

附表B3-2 业务代号

978-7-111-59294-5-Chapter13-32.jpg

(2)功能ID

【概要】功能识别唯一ID。

【构成】为业务ID+业务内两位数字编号,即01~99。

【例】ORG01。

(3)页面ID

【概要】页面唯一识别ID。

【构成】功能ID+S(978-7-111-59294-5-Chapter13-33.jpgcreen)+两位页面数字编号(01~99)。

【例】ORG01S01。

(4)消息ID

【概要】消息唯一ID。

【构成】一位消息种类代号+业务ID+3位数字编号(001~999)。

①分别如下:

E:错误,Error;

W:警告,Warning;

I:信息,Information;

D:调试,Debug。

【例】EORG001。

(5)报表名称

【概要】报表唯一识别ID。

【构成】功能ID+R(Report)+报表数字编号(01~99)+文档名称。

【例】ORG01R01_userlist。

4.业务项目命名

(1)业务项目中文名称标准

【概要】页面、处理、报表等使用的控件项目的汉字名称。

【构成】一般来说,使用最多的是修饰语+主要语+区分语(后缀),修饰语是可以省略的,中文名称不超过20个汉字。由修饰语、主要语、区分语构成。

①修饰语:这个是对主要语与区分语的修饰。

②主要语:数据条目。

③区分语:数据的属性(例如:编号、区分、数量、金额、比率等)。

例如:产品合计金额=①产品+②合计+③金额。

性别编号=②性别+③编号。

(2)业务项目英文名称标准

【概要】类(包括接口)、方法(包括构造函数)、变量、常量、参数的名称识别符。

【构成】开头字母只能够使用A~Z,a~z,以及_、$,识别符英文名称不超过40个字母。英文名称命名,使用相应的汉语所对应的英文名称,英文名称的赋予根据“365IT学院自动命名工具”自动命名。

(3)处理名称

名种按钮英文名称如附表B3-3所示。

附表B3-3 各种按钮英文名称

978-7-111-59294-5-Chapter13-34.jpg

5.架构名称

(1)页面层

①非事件项目:项目ID。

【概要】每个非事件项目在系统中都有唯一性标识。

【构成】表单ID+下画线+项目名称。

【例】org01S01 Form_userName。

②非事件项目:项目名称。

【概要】非事件项目名称在系统中亦需要唯一性标识。

【构成】表单ID+「.」+项目名称。

【例】org01 S01 Form.userName。

③事件项目:菜单ID。

【概要】菜单唯一识别ID。

【构成】业务ID+英文名称。

【例】ORGFather。

④事件项目:按钮ID。

【概要】页面上按钮名称。

【构成】

a.按钮method属性名称:动词+名称(可省略)+Event。

【例】deleteUserEvent、searchEvent。

b.Id属性,在method属性名称后直接加Id。

【例】deleteUserEventId、searchEventId。

(2)控制层

①表单。

【概要】页面提交数据容器。

【构成】页面ID+Form。

【例】类名:Org01 S01Form。

②控制器。

【概要】页面控制器。

【构成】页面ID+Controller。

【例】类名:Org01S01Controller。

(3)业务层

①业务层。

【概要】业务逻辑处理层。

【构成】

a.接口:页面ID+Service。

【例】类名:Org01S01Service。

b.实现类:页面ID+Service+Impl。

【例】类名:Org01S01ServiceImpl。

②模式。

【概要】模式(Model)后加后缀“Dto”。

【构成】页面ID+Dto。

【例】类名:Org01S01Dto。

(4)持久层

①持久层(Repository)。

【概要】数据库SQL调用接口。

【构成】页面ID+Repository。

【例】类名:Org01S01Repository。

②业务SQLMAP文件。

【概要】以业务为单位建立mybatis相应的SQLMAP文件。

【构成】业务模块代号+下画线+sqlMap。

【例】org_sqlMap。

③SQL语句ID。

【概要】以页面为单位,定义SQL业务语句ID,定义的语句ID就是持久层Repository接口里面的方法名称。

【构成】SQL种类+页面ID(第一个字母要大些)+两位数字编号(01~99)。

查询,select;

更新,update;

删除,delete;

插入,insert。

【例】selectOrg01S0101。

6.数据库

(1)实体表名(概念名称与物理名称)

【概要】分为概念名称与物理名称,这两种名称都与ER图里设计的一致。

【构成】概念名称,如果是由多对多产生的表,名称由原实体表A+原实体表B构成。物理名称由t(table)+下画线+业务名+表功能名称组成。

【例】概念表名称:用户角色表=用户表A+角色表B。

物理表名称:t_sys_user。

(2)视图名称(概念名称与物理名称)

【概要】视图名称与ID与ER图里设计的一致。

【构成】v+下画线+视图功能名称。

【例】v_user_org。