1 说明
为各种配置项、程序和工作产物命名,是一个非常重要的事情。为了便于沟通交流,在一个研发组织内部,都会形成命名的规范。本文档的目标就是约定和梳理本部门在研发中遇到的各种程序和产物的命名规则。
在整个文档中,会有一些对于标准和实践的推荐和建议。一些实践是非常重要的,必须严格执行,另一些指导准则并不一定处处适用,但是会在特定的场景下带来益处。为了清楚陈述规范和实践的意图,我们会使用如下术语。
<colgroup><col><col><col></colgroup>
| | | |
| | | |
| | |
| | | |
| | |
| | | |
2 通用约定
本章节的约定适用于以下所有章节:
- 一定要使用英文或者英文缩写。一定不要使用汉语拼音或者英文夹杂汉语拼音。
- 应该尽量使用英文全称,控制使用缩写。除非缩写是约定俗成,便于他人理解的;或者英文全称过长。一般在8个字符以内的单词,尽量不要使用缩写。
2.1 命名规则
常见命名规则有四种样式:完全大写、完全小写、Pascal 大小写和 Camel 大小写。本文后续章节所描述的类型中,将根据需要和惯例选择这四种中的一种。
2.1.1 Pascal 大小写
组成标识符的每个单词的首字母大写,其余字母小写的书写约定。对于缩写的双字母单词,要求全部大写。例如:ApplicationExceptionID 。
2.1.2 Camel 大小写
标识符的首字母小写,每个后面连接的单词的首字母大写,其余字母小写的书写约定。对于缩写的双字母单词,要求它们出现在标识符首部时全部小写,否则全部大写。例如:applicationException、 id 。
3 产品
产品编号由3-6位字符组成, 一般的命名分为两级,产品线-产品。对于部分产品,也可直接使用3位的唯一产品码,具体视实际情况零活掌握。
产品线使用3位字符命名,采用完全大写样式,产品线之下,可以根据需要定义产品,产品使用3位字符命名,采用完全大写样式。这样加上产品线的编码,形成6位字符的全称。为了方便阅读,可在产品线与子产品之间加上“-”符号。
例如统一运营平台之下有一个统一账户后台。则:
<colgroup><col><col><col><col></colgroup>
| | | | |
| | | | |
3.1 产品版本号
产品版本号的完整格式一定要遵循:{主版本}.{小版本号}.{修订版本号}.{构建号},全部采用数字的方式。例如1.0.0.1223001
在产品路线图规划,用户故事地图等,使用{主版本}.{小版本号},个别情况可细化到{修订版本号}。
3.2 文档
产品相关文档名称的格式为: {产品编号}_{文档用途}V{文档版本号}.{文件后缀}。
其中文档文档用途可为中文或英文。
文档版本号建议使用{主版本}.{小版本号}的格式
例如:
UAP_产品需求说明书V1.0.docx
4 Restful接口
接口的完整名称格式一定要如下:
http(s)://{域名}/{平台}/{产品}/{version}/{模块}/{资源}
l Version:API的大版本号,建议使用V1,V2的格式;
l 模块:可选,根据产品的规模选用,建议完全小写或Camel 大小写。
l 资源:建议完全小写或Camel 大小写
4.1 HTTP Header
如果需要自定义报文头,应采取如下格式:
X-{产品}-{自定义内容}
产品名使用完全大写,自定义内容建议完全小写或Camel 大小写。
4.2 JSON
JSON数据的key值应该使用Camel 大小写,并且不要出现空格。
4.3 错误返回码
接口应结合HTTP状态码返回详细的错误码。
错误码格式为{平台}-{产品}-{5位数字错误码};
5 Java语言
Java语言建议遵从业界规范,以下是一些说明:
5.1 包(Packages)
使用全部小写样式,一定要按照组织.平台.子产品.模块的形式命名。
例如:com.wanda.uap.login
5.2 接口(Interfaces)
以大写字母”I”开头,后续使用Pascal 大小写。例如 IRasterDelegate。
6 数据库
**一、 **
6.1 Redis
Redis基于Key-Value的形式进行数据存储。对于key的命名,建议遵循如下规则:
l 按照product:object-type:id:field格式设计。
n Product:产品编号
n Object-type: 统一定义分配,基本上按照领域对象命名。建议使用Pascal 大小写和 Camel 大小写。
n Id: 一个Object-Type下的唯一主键。一般应包含业务对象主键,例如用户号、session ID等。
n Field: 为Object之下的字段,根据需要设置.
例如
缓存项:统一账户平台会员最后登录时间
Key = UAP:Account:123: LastLoginTime
Value = 2016-3-1 11:11:30,
由于Redis的key也是会占用内存空间的,因此建议不要使用太长的key.
6.2 关系数据库
6.2.1 表
表以”T_”开头。后面实际内容部分使用Pascal 大小写。
例如:T_PersonalMember
6.2.2 字段
字段使用Pascal 大小写。例如以下字段:
| | |
| | |
| | |
| | |
| | |
| | |
网友评论