数据中心产品开发规范18023.docx
《数据中心产品开发规范18023.docx》由会员分享,可在线阅读,更多相关《数据中心产品开发规范18023.docx(51页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据中心产品开发规范XXXX公公司XX业务部部XXXX年年XX月开发规范_xFF08_JAVA部分_xFF09_文档说明本文档所涉涉及到的的文字、图图表等,仅仅限于内内部使用用,未经经双方书书面许可可,请勿勿扩散到到第三方方。文档属性属性内容客户名称:项目名称:文档主题:文档编号:文档版本:版本日期:文档状态:作者:文档变更版本修订日期修订人描述文档送呈单位姓名目的审阅参阅目 录1概述51.1最最根本原原则52Javva技术术规范62.1平平台使用用的相关关技术62.1.11基本核核心框架架包62.1.22其他框框架包62.22程序设设计标准准72.2.11命名约约定82.2.22包名,类类名
2、,方方法名,属属性名,常常量名命命名约定定92.22.3注释约约定102.2.44快速浏浏览JaavaDDoc112.3开开发规范范122.3.11项目结结构说明明122.3.22整体包包结构说说122.3.33项目模模块包结结构及命命名132.3.44各子项项目模块块功能包包结构142.3.55配置文文件包结结构142.4命命名规则则152.4.11共用类类152.4.22业务层层152.4.33展现层层152.4.44模型层层162.44.5持久层层162.4.66XMLL配置162.4.77资源文文件192.4.88JSPP文件202.4.99事务命命名约束束202.4.110JS命名名
3、约束213数据库库技术规规范223.1概概述223.2命命名基本本规则223.3数数据库表表空间223.3.11命名基基本规则则223.4默默认用户户方案223.5表表的命名名规则、约约定223.66视图的的命名规规则、约约定233.7字字段命名名规则、约约定233.8存存储过程程的命名名规则、约约定233.9序序列对象象的命名名规则、约约定243.10触发器器命名规规则、约约定244HIVVE技术术规范255HBaase设设计规范范265.1NNameespaace命命名空间间设计265.211.2. Taablee表设计计275.2.11理想HBBasee表275.2.22预创建建分区28
4、5.2.33列族数数量285.2.44可配置置的数据据块大小小295.2.55数据块块缓存295.2.66激进缓缓存295.2.77布隆过过滤器(Bloom filters)305.2.88生存时时间(TTTL)315.2.99数据压压缩325.2.110数据分分割335.2.111单元时时间版本本345.3CColuumnFFamiily列列族设计计355.4QQuallifiier列列设计365.5版版本设计计375.6HHBasse命名名规范371 概述本文提供一一整套编编写高效效可靠的的Javva代码码的标准准、约定定和指南南。它们们以安全全可靠的的软件工工程原则则为基础础,使代代码易
5、于于理解、维维护和增增强。而而且,通通过遵循循这些程程序设计计标准,你你作为一一个Jaava软软件开发发者的生生产效率率会有显显著提高高。经验验证明,若若从一开开始就花花时间编编写高质质量的代代码,则则在软件件开发阶阶段,对对代码的的修改要要容易很很多。最最后,遵遵循一套套通用的的程序设设计标准准将带来来更大的的一致性性,使软软件开发发团队的的效率明明显提高高。1.1 最根本原则则r 运用常识当找不到任任何规则则或指导导方针,当当规则明明显不能能适用,当当所有的的方法都都失效的的时侯: 运用用常识并并核实这这些基本本原则。这这条规则则比其它它所有规规则都重重要。r 驼峰命名法法驼峰命名法法(C
6、aamell-Caase):就是当变量名或函式名是由一个或多个单字连结在一起,而构成的唯一识别字时,第一个单字以小写字母开始;第二个单字的首字母大写或每一个单字的首字母都采用大写字母,例如:myFirstName、myLastName,这样的变量名看上去就像骆驼峰一样此起彼伏,故得名。驼峰命名法法的命名名规则可可视为一一种惯例例,并无无绝对与与强制,目的是增加识别和可读性。2 Java技技术规范范2.1 平台使用的的相关技技术平台使用的的框架包包分核心心框架包包和其他他必须的的框架包包,各框框架包本本身所依依赖的开开源包不不做列举举,由框框架包本本身的信信息来定定。2.1.1 基本核心框框架包
7、平台采用SSpriing+Strrutss2+mmyBaatiss的三层层架构作作为基本本框架。(JDK1.6+)。参考如下:名称版本备注Strutts22.2.11Sprinng3.0.55mybattis-corre3.1.11不支持跨数数据库建建议,目目前开发发在myysqll上,现现网环境境在dbb2上mybattis-sprringg1.1.11MySQLL5.0Tomcaat7.0jQuerry1.82.1.2 其他框架包包除基本框架架外,平平台其他他将采用用的一些些框架包包,参考考如下:(JDDK1.5+)名称版本备注Sprinng SSecuuritty2.0.44Apachh
8、e CCommmonss2.6常用的工具具包等SLF4JJ1.6.11Apachhe LLogggingg loog4jj1.2.115Apachhe AAnt1.7.11Oscacche2.4.11XMemccachhe1.2.55C3P00.9.11Dom4jj2.0commoons-beaanuttilss1.8.33Mybattis-sprringg1.1.11Hadooop-ccoree0.20.2-ccdh33u5Hive-clii0.7.11-cddh3uu5Hbasee0.90.6-ccdh33u52.2 程序设计标标准Java的的程序设设计标准准很重要要,原因因在于它它将提高
9、高开发团团队各成成员的代代码的一一致性。一一致性的的提高会会使代码码更易理理解,这这意味着着它更易易开发和和维护。从从而降低低了应用用程序的的总开发发成本。你必须牢记记的是:你的JJavaa代码在在你已离离开并开开始另一一个项目目之后,会会保留相相当长的的一段时时间。因因此开发发过程中中一个很很重要的的目标就就是要确确保在开开发成员员或开发发团队之之间的工工作可以以顺利交交接,不不必花很很大的力力气便能能理解已已编写的的代码,以以便继续续维护和和改进以以前的工工作。如如果代码码难以理理解,很很有可能能被废弃弃和重写写。s2.2.1 命名约定我们将在整整个标准准中讨论论命名约约定,以以下是几几个
10、基本本点:r 使用可以准准确说明明变量/字段/类的完完整的英英文描述述符例如,采用用类似ffirsstNaame,graandTTotaal 或或 CoorpooratteCuustoomerr这样的的名字。虽虽然象xx1,y1或fn 这样的的名字很很简短,输输入起来来容易,但但是我们们难以知知道它们们代表什什么、结结果是什什么含义义,因而而使代码码难以理理解、维维护和改改进。r 采用该领域域的术语语如果用户称称他们的的“客户” (clliennts) 为“顾客” (cuustoomerrs),那那么就采采用术语语Cusstommer 来命名名这个类类,而不不用 CClieent。许许多程序序
11、开发者者会犯的的一个错错误是,不不去使用用工业或或领域里里已经存存在着很很完美的的术语时时,却生生造出一一些普通通词汇。r 采用大小写写混合,提提高名字字的可读读性一般应该采采用小写写字母,但但是类和和接口的的名字的的首字母母,以及及任何中中间单词词的首字字母应该该大写。r 尽量少用缩缩写,但但如果一一定要使使用,就就要谨慎慎地使用用这意味着应应该保留留一个标标准缩写写的列表表,明智智地从中中选取,并并且在使使用时保保持一致致。例如如,想对对单词“nnumbber”采用缩写,那么可从 nbr,no 或者 num 中选取一个,说明一下采用了哪一个(具体是哪个倒无所谓),并且只使用这一种形式。r
12、避免使用长长名称(不不超过115 个个字母)例如: PPhyssicaalOrrVirrtuaalPrroduuctOOrSeerviice 看起来来似乎是是个不错错的类名名,但是是名字太太长,应应该考虑虑重新给给它起个个短一点点的名字字,比如如象 OOffeerinng。 r 避免使用相相似或者者仅在大大小写上上有区别别的名字字例如,不应应同时使使用变量量名 pperssisttenttObjjectt和perrsisstenntObbjeccts及及anSSqlDDataabasse和 annSQLLDattabaase这这样的名名称r 避免使用下下划线作作为名字字的首末末字母以下划线为为
13、首末字字母的名名字通常常为系统统保留,除除预处理理定义之之外,一一般不用用作用户户命名。更更重要的的是,下下划线经经常造成成麻烦而而且难输输入,所所以尽量量避免使使用。2.2.2 包名,类名名,方法法名,属属性名,常常量名命命名约定定r 包命名包命名全部部使用小小写英文文字母,中中间不允允许有数数字下划划线等特特殊字符符。r 类,接口命命名类,接口名名开头使使用大写写英文字字母,多多单词使使用驼峰峰命名法法。类名名中不要要使用下下划线和和数字等等特殊字字符,正正确的写写法示例例:HibbernnateeDaooSuppporrt。如果表示特特殊功能能的类,在类名的末尾加上所要表示的功能英文名称
14、,如:*Listener,表示监听器等。r 方法命名方法命名使使用驼峰峰命名法法,方法法名中间间不要使用用下划线线和数字字等特殊殊字符,正正确的示示例:pproccesssingg()。方法的参数数以及方方法内部部的局部部参数可可自定,符符合要求求就行。r 特殊Beaan类的属性性命名约约定Bean的的属性命名名规则严严格使用用驼峰命命名法,不不允许使使用下划划线,名名字长度度最长不不要超过过15个个字符,确确实需要要长名字字时,适当缩缩写部分分英文字字母。r 常量属性命命名常量的命名名规则一一般为常常量名全全部采用用大写字字母,多多单词之之间使用用下划线线隔开,不允许许使用数数字等特特殊字符
15、符,并且且常量的的声明一一定要是是staaticc fiinall的。r 普通类的属属性命名名普通类的属属性命名名除常量量依照常常量命名名法外,其其他的属属性的名名字使用用“英文名名字(首首字母大大写)”命名,多单词词可使用用驼峰命命名法或或用下划划线隔开开。2.2.3 注释约定本文还会对对注释进进行约定定,相关关注释风风格可以以在ecclippse中中导入ccodeetemmplaatess.xmm文件。以以下是几几个基本本点: r 注释应该增增加代码码的清晰晰度代码注释的的目的是是要使代代码更易易于被同同时参与与程序设设计的开开发人员员以及其其他后继继开发人人员理解解。r 如果你的程程序不
16、值值得注释释,那么么它也很很可能也也不值得得运行 。r 保持注释的的简洁最好的注释释应该是是简单明明了的注注释。注注释不必必洋洋洒洒洒,只只需提供供足够的的信息,使使别人能能够理解解你的代代码。r 先写注释,后后写代码码写代码注释释的最好好方法是是在写代代码之前前就写注注释。这这使你在在写代码码之前可可以想想想代码的的功能和和运行。而而且这样样确保不不会遗漏漏注释。另另一种方方法是边边写代码码边写注注释。因因为注释释可以使使代码更更易理解解,所以以在程序序开发的的过程中中,也可可以利用用这一点点。如果果打算花花些时间间写注释释,那么么至少你你应从这这个过程程中获得得些什么么。r 注释信息不不仅
17、要包包括代码码的功能能,还应应给出原原因例如,下面面例1中中的代码码显示金金额在 $1,0000 以上上(包括括 $11,0000)的的定单可可给予 5% 的折扣扣。为什什么要这这样做呢呢?难道道有一个个商业法法则规定定大额定定单可以以得到折折扣吗?这种给给大额定定单的特特殊是有有时限的的呢,还还是一直直都这样样?最初初的程序序设计者者是否只只是由于于慷慨大大度才这这样做呢呢?除非非它们在在某个地地方(或或者是在在源代码码本身,或或者是在在一个外外部文档档里)被被注释出出来,否否则你不不可能知知道这些些。2.2.4 快速浏览JJavaaDoccSun 公公司的 Javva DDeveelopp
18、mennt KKit (JDDK) 中有一一个名为为 jaavaddoc 的程序序。它可可以处理理 Jaava 的源代代码文件件,并且且为 JJavaa 程序序产生 HTMML 文文件形式式的外部部注释文文档。JJavaadocc 支持持一定数数目的标标记,标标识注释释文档中中各段起起始位置置的保留留字。详详情请参参考 JJDK javvadooc 文文档。标记用于目的authhor namme类、接口说明特定某某一段程程序代码码的作者者。每一一个作者者各有一一个标记记。deprrecaatedd类、成员函函数。说明该类的的应用程程序编程程接口 (APPI) 已被废废弃,因因此应不不再使用用。
19、exceeptiion namme ddesccripptioon成员函数说明由成员员函数发发出的异异常。一一个异常常采用一一个标记记,并要要给出异异常的完完整类名名。paraam nnamee deescrripttionn成员函数用来说明传传递给一一个成员员函数的的参数,其其中包括括参数的的类型/类和用用法。每每个参数数各有一一个标记记。retuurn desscriiptiion成员函数若成员函数数有返回回值,对对该返回回值进行行说明。应应说明返返回值的的类型/类和可可能的用用途。sincce类、成员函函数说明自从有有 JDDK 11.1 以来,该该项已存存在了多多长时间间。see Cl
20、aassNNamee类、接口、成成员函数数、字段段在文档中生生成指向向特定类类的超文文本链接接。可以以并且应应该采用用完全合合法的类类名。see ClaassNNamee#meembeer ffuncctioonNaame类、接口、成成员函数数、字段段在文档中生生成指向向特定成成员函数数的超文文本链接接。可以以并且应应该采用用完全合合法的类类名。verssionn teext类、接口说明特定一一段代码码的版本本信息。你注释代码码的方式式很大地地影响着着你的工工作效率率以及所所有维护护改进代代码的后后继开发发者的工工作效率率。在软软件开发发过程中中及早注注释代码码,会促促使你在在开始撰撰写代码码
21、之前仔仔细考虑虑这些代代码,从从而带来来更高的的工作效效率。而而且,当当你重新新阅读数数天前或或者数星星期前所所写的代代码时,你你可以很很容易地地判断出出当时你你是怎么么想的,因因为这一一切都有有记录。2.3 开发规范2.3.1 项目结构说说明数据中心 FDCC项目采采用多mmoduule式式项目结结构,其其中包含含如下项项目,各各项目模模块功能能说明如如下:父模块模块依赖模块主要业务功功能描述述FDCFdc-ccommmonnone提供FDCC项目中中公用框框架包及及公用工工具包FDCFdc-mmoniitorrFdc-ccommmon提供FDCC项目中中监控告告警功能能FDCFdc-cco
22、mpputeeFdc-mmoniitorr, FFdc-ccommmon提供FDCC项目中中核心数数据运算算功能(包包括ETTL,汇汇总,分分发)。FDCFdc-rrepoortFdc-mmoniitorr, FFdc-ccommmon提供FDCC项 目目中数据据展现功功能(报报表展现现,短信信、邮件件展现,数数据导出出等) 2.3.2 整体包结构构说包结构整体体遵循按按功能不不同分包包,主要要体现出出平台的的整体架架构。1. 常用的包结结构如22.3.2常用用包结构构及命名名。2. 各个模块包包结构,如业务务层,控控制层,持持久层,异异常,模模型POOJO,常常量类,工具具类等。这这里的常常
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据中心 产品 开发 规范 18023
限制150内