UAPV61-编码命名规范-精品文档资料.docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《UAPV61-编码命名规范-精品文档资料.docx》由会员分享,可在线阅读,更多相关《UAPV61-编码命名规范-精品文档资料.docx(24页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、产业链开发部 编培训案例集UAPV61-编码命名规范一介绍1二文件和目录22.1UAP目录结构22.2一般命名原则32.3多语资源42.4属性文件42.5XML和组件配置文件4三Java代码规范53.1命名规范53.1.1一般性规则53.1.2常量命名53.1.3变量命名63.1.4方法命名63.1.5类和接口的命名73.1.6包的命名83.1.7接口设计规范83.2注释规范113.2.1一般性规则113.2.2注释分类123.2.3类/接口注释133.2.4变量注释153.2.5方法注释163.2.6算法注释173.2.7修改记录17四4.编码规范174.1基本原则174.2类编写规范194
2、.3变量204.4方法214.5语言使用及书写规范224.6测试用例22一 介绍软件开发涉及到各方面人员的交互、协作,为了有效地进行项目开发的沟通,完善代码的维护和交付,有必要在一个小组中采用统一的软件开发标准。一般来说,制定这样的标准有下列好处: 方便软件维护。据统计,80的软件开发费用在维护,规范化的代码才方便维护,降低维护成本。 在软件的整个生命期内,期望一个编码人员从开始到该软件报废一致维护其代码是不现实的,必然需要不断地交付、协同 好的编码规范能够大大增强代码的可读性,便于开发人员快速的理解新代码。 任何产品都需要好的包装。我们可以把代码本身看作是一种产品,那么按照规范编程也是对这个
3、“产品”的包装 规范化的代码也是软件质量的保证手段之一,也是软件过程能够流畅的基础。我们每个人必须牢牢树立这样的观念:无论从时间跨度还是从工作量来说,一个软件系统生存期的大部分是维护,不是开发。你今天所编写的代码,会一直使用很多年,并且很有可能被其他人维护和改进。所以,我们必须努力写出“干净”和易读的代码。本文档适用于软件开发过程中开发人员,主要包括编码人员、测试人员,开发人员,规范必须严格遵守,否则程序被视为不合格程序。注:本规范中加黑加下划线部分是强制执行规范,请严格遵守。二 文件和目录2.1 UAP目录结构1) ierp: 所有产品共用的一些全局配置文件存放目录 2) webapps:
4、UAP产品的主web应用部署目录 3) hotwebs: UAP产品的扩展web应用存放目录 4) ejb: UAP中间件jar包存放目录 5) ejbXMLs:UAP中间件ejb描述文件存放目录 6) scripts: 数据库脚本存放目录 7) nclogs: 系统日志存放目录 8) external,lib,framework,middleware客户化基础技术平台提供的一些jar包 9) langlib: 多语jar包10) ierp/bin: 与整个产品相关的配置文件都存放在该目录,如日志配置文件logger-confing.properties11) modules: 各产品模块的部
5、署目录a) : 某个模块的目录,模块名必须是小写的英文字母,在能表达意义的基础上尽量的短b) /META-INF/module.xml: 必须存在,配置模块的一些通用属性,如名称,描述,classloader等,注意名称必须与模块名称同名c) /lib: 模块公开的API类,如接口,接口相关的VO等,放JAR包d) /classes:模块公开的API类,如接口,接口相关的VO等,放带目录的.class文件等,用于补丁e) /META-INF/lib: 模块私有的代码,如DMO, 业务实现等,放JAR包f) /META-INF/classes:模块私有的代码,放带目录的.class文件等,用于补
6、丁g) /extension/lib,classes: 用于二次扩展的公开的APIh) /extension/META-INF/lib,classes:用于二次扩展的私有的APIi) /client/lib,classes: 用于从目标上来说不属于公共的API,但是客户端用到的代码j) / config:产品模块自己的配置文件12) webappsnc_webimages :UAP产品模块的图像文件13) lib, classes, external/lib, classes: 由平台维护和提供的类库,不允许第三方调整2.2 一般命名原则 文件、目录命名不能用中文,推荐使用数字和英文字母构成,
7、只能使用数字和英文字母,不能以数字开头 文件、目录命名需要有一定的意义,尽量简短,名称符合各种主流操作系统的要求,如不要使用空格,不以”.”开头,不使用过长的文件名 文件名称的分隔,使用下划线或者采用首单词小写,其余单词首字母大写的方式分隔。2.3 多语资源 多语言文件都必须采用UTF-16BE字符集,必须带BOM头,即文件前两个字节为0xFEFF 多语资源可以以JAR包形式存放在UAP_HOME下的langlib目录下,JAR包名称必须以_langres.jar结尾,或以目录方式存在UAP_HOME的resources下 多语资源的结构组织如下:lang/语种编码/多语类别/多语资源文件,语
8、种编码参考ierp/bin/langConfig.xml文件,如simpchn2.4 属性文件 采用UTF-8编码,不带BOM 文件后缀为.properties 属性文件放在各产品模块的resources目录下,按照一定目录层次进行组织2.5 XML和组件配置文件 UTF-8编码,不带BOM 一般的XML文件以xml作为后缀 每个模块都必须在META-INF下配置module.xml文件,用来控制改模块的一些全局特性 所有的组件配置文件都是XML文件,他的后缀名必须为,upm,存放在模块的META-INF module.xml的name属性必须与模块的目录名称保持一致,他们都要求小写三 Jav
9、a代码规范3.1 命名规范 3.1.1 一般性规则 字符集在26个英文字母、0到9的阿拉伯数字和下划线之中。Java中类、字段、方法、变量、常量尽量用字母表达,没有特别的理由不能用任何的其他字符 命名需要有一定的意义,推荐采用问题域中的术语命名,使命名在一定程度上是自描述的 命名尽量的短,如果命名太长,可以采用别名的方式,或者缩写来简化命名。缩写一定要有的意义,而且需要在整个项目中维护这些缩写的意义 名称缩写的规则(对于类名、字段名、变量名称、模块名称等适用)1) 删除所有的原音字母,压缩重复字母。如button,缩写为btn,2) 如发生命名冲突,则在某一缩写中保留原音。如batton,为了
10、不与button冲突,缩写为batn 不要用前导下划线,也不要在命名的末尾用下划线3.1.2 常量命名 所有的字符都必须大写。采用有意义的单词组合表达,单词与单词之间以“_”下划线隔开。 命名尽量简短,不要超过16个字符程序开发中最好不要直接对literal进行工作,最好引入常量方式应用;只有在特别的情况下才能使用, 如在for循环中初始化变量时可直接用-1,0,1这些常量。例:public final int MAX_SIZE = 120;public final int MAX_WIDTH = 100;public final String PROPERTY_NAME= menu ;3.1
11、.3 变量命名变量的命名包括实例变量,静态变量,函数参数的命名。 避免在命名中采用数字,除非命名意义明确,程序更加清晰,对实例变量的命名中不应该有数字 变量名称是名词意义 采用有符合问题域意义的单词或单词组合。第一个单词全部小写,后续的每个单词采用首字母大写,其余小写(特殊单词除外,如URL) 命名尽量简短,不要超过16个字符 除了生命周期很短的临时变量外,避免采用单字符作为变量名,实例变量的命名不要用单字符。常用的单字符变量如整型用 i、j、 k、 m、 n字符型用c、d、 e,坐标用x、y、z3.1.4 方法命名命名多数为动词结构 采用有符合问题域意义的单词或单词组合。第一个单词采用小写,
12、后续的每个单词采用首字母大写,其余小写(特殊字除外如URL),没有特别理由不用下划线作为分隔符 在Java中对属性方法命名遵循JavaBean的标准:1) getter方法:get+属性名, 对boolean型采用is+属性名,有些特定的属性名用has, can代替is可能更好2) setter方法:set+属性名 构造方法的命名与类名一致 如:String getName();string isStopped();void connect();3.1.5 类和接口的命名 采用有符合问题域意义的单词或单词组合,每个单词的首字母大写,其余字母小写(特殊字除外如URL) 接口的第一个字符采用 对接
13、口的默认实现类命名方式为接口名称去掉I, 加 Impl 7数据访问的类以DAO或者DMO结尾 测试用例以Test结尾 对与继承ValueObject对象的类,以VO结尾例:public class Fiugrepublic interface FiugreContainerpublic class StdFigure /std为Standard的缩写3.1.6 包的命名新模块采用新的uap一级包名 产品模块内部的接口定义放在uap.itf.模块名.xx 产品模块对外定义的接口定义包:uap.pubitf.模块名.xx 服务的实现类uap.impl.模块名.xx 产品模块对外定义的接口实现包:u
14、ap.pubimpl.模块名.xx 值对象命名:uap.vo.模块名 UI层命名:uap.ui.模块名3.1.7 接口设计规范一、 名词描述:a) 接口设计:指将本业务需要给其他业务提供的服务方法和进行远程调用的方法提取为接口的设计方式;b) 接口:指上述设计所涉及的类,包括接口类及接口方法中所使用的业务对象(如VO)和业务异常。不包括接口类的具体实现类;c) 代码设计:指代码即为设计文档,要求其注释可生成JavaDoc文件;d) 设计阶段:分为总体设计、详细设计;二、 设计要求:a) 设计工具:采用Eclipse直接进行代码设计;b) 文档格式:JavaDoc文档,文档中包含接口中使用的接口
15、类、业务对象和业务异常的描述;c) JavaDoc注释要求:符合标准JavaDoc文档所要求的输写规范,具体写发详见JDK DOC帮助文件。对具体对象要求如下:i. 接口类:1. 类注释:类注释应该在import语句的后面在类声明的前面;/* * (接口类简要描绘,必须以句号为结束). * * 提供者:(提供业务组) * * 使用者:(使用业务组,若分方法描述可省略此项) * * 设计状态:(指出接口类设计阶段:总体、详细) * * version(接口版本) * author (接口类总设计负责人) */2. 方法注释:方法注释要紧靠方法的前面;/* * (接口方法简要描述,必须以句号为结束
16、). * * 调用模块: * (明确指出本接口适用范围:公共、私有或具体应用业务模块)* * 最后修改人: * * 最后修改日前: * * 用例描述: * * param(参数用途描述) * return(返回值描述) * throws(异常描述) * since(开始使用的NC版本) * see(关联类) */ii. 业务对象类:1. 类注释/* * (业务对象类简要描绘,必须以句号为结束). * * 拥有者:(拥有业务对象的业务组) * * 设计状态:(指出接口类设计阶段:总体、详细) * * version (业务对象版本) * author (作者/最后修改人) * since (开始
17、使用的NC版本) */2. get方法注释/* * (属性简要描述,必须以句号为结束). * return */3. set方法注释/* * (属性简要描述,必须以句号为结束). * param (参数用途描述) */iii. 业务异常类:1. 类注释/* * (业务异常类简要描绘,必须以句号为结束). * * 拥有者:(拥有异常的业务组) * * 设计状态:(指出接口类设计阶段:总体、详细) * * version(业务异常类版本) * author (作者/最后修改人) * since (开始使用的NC版本) * see (关联类) */2. 构造方法注释/* * (异常构造的简要描述,必
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- UAPV61 编码 命名 规范 精品 文档 资料
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内