命名规范

1 说明

为各种配置项、程序和工作产物命名,是一个非常重要的事情。为了便于沟通交流,在一个研发组织内部,都会形成命名的规范。本文档的目标就是约定和梳理本部门在研发中遇到的各种程序和产物的命名规则。

在整个文档中,会有一些对于标准和实践的推荐和建议。一些实践是非常重要的,必须严格执行,另一些指导准则并不一定处处适用,但是会在特定的场景下带来益处。为了清楚陈述规范和实践的意图,我们会使用如下术语。

<colgroup><col><col><col></colgroup>
| | | |
| | | |
| | |
| | | |
| | |
| | | |

2 通用约定

本章节的约定适用于以下所有章节:

  1. 一定要使用英文或者英文缩写。一定不要使用汉语拼音或者英文夹杂汉语拼音。
  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 大小写。例如以下字段:

| | |
| | |
| | |
| | |
| | |
| | |

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,193评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,306评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,130评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,110评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,118评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,085评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,007评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,844评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,283评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,508评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,667评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,395评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,985评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,630评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,797评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,653评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,553评论 2 352

推荐阅读更多精彩内容