15-java开发规范.docx
文件编码文件密级最新发布日期当前版本Java开发规范郑重声明:XX软件股份有限公司版权所有。本文档中任何部分未经XX软件股份有限公司书面授权,不得将材料泄露给第三方,不得以任何手段、任何形式进行复制与传播。变更履历版本日期变更位置变更理由/变更内容变更人备注1.0新建1.1根据研发项目管理流程问题巡检检查 出的问题进行更新:增加变更履历1 前言32 源代码划分规范33 模块依赖关系34 代码签入、签出规则4异常处理45 数据库连接释放41 .前言本文档主要是对Java开发过程中的总体要求,包括源代码的划分规范、模块输 出的目标文件、模块的引用规则、代码签入规则等内容。本文档不涉及编码规范的要 求,具体的编码规范请参照相关的文档。2 .源代码划分规范 Java的源代码通常分为Java代码和JSP代码,这两类代码通常需要按目录进 行区分,然后再在各自的目录下按功能模块进行划分 目录的命名以能够准确说明该目录含义的英文单词进行命名 由于有些中间件(如weblogic)是大小写敏感的,因此为保证开发测试环境与 发布环境代码的一致性,要求所有包名均以小写英文字母进行命名以下是参考的源代码目录结构:netrep/产品名称source/源代码根目录java/ java源代码目录src/ java代码目录com/顶级域名jiuqi/公司名称模块1英文名称模块2英文名称web/jsp代码目录模块1英文名称模块2英文名称WEB-INFclasses/用于存放编译后的class文件lib/用于存放引用的jar包模块目录下的代码结构可以按两类原则进行划分:1、按代码所完成的职能进行划分,如service、manager> dao> bean> tree等2、按代码所实现的功能进行划分,如groupmanager (分组管理)、 temp I atemanager (模板管理)等建议结合以上两种原则进行模块代码的划分,即将 对外接口的代码统一进行存在,内部的代码则按功能进行划分,如service (提供外 部调用的接口代码)、groupmanager (分组管理)、temp I atemanager (模板管理)等。3 .模块依赖关系1 .模块依赖关系表列示模块/组件间的依赖关系2 .各个模块/组件必须按照编译的顺序列出3,定义模块的粒度(比如包、单元、类),以及根据具体项目在模块依赖关系表 中表现的粒度的策略模块依赖关系是编译时,确定模块需要前置编译顺序。通过整理 模块依赖关系,可以在进行每日构建时,保证正确的编译完成。序号模块名称依赖关系模块功能说明备注 11ezReport. jar 12jq I i b. jar 13netrep.war11、12 4.代码签入、签出规则 修改所有代码时都必须先从代码库中进行签出,并对代码库中相关的代码进行 加锁,以防止多人同时修改、互相覆盖源代码的情况发生 所有签入代码库的代码必须保证能够正确的编译通过,对于不完整的代码严禁 签入代码库 所有签入代码库中的代码应将调试代码进行删除或注释,如 uSystem, out. pr i nt I n v 等语句5 .异常处理必须对可能产生异常的代码进行异常捕获(tryexcept)出现异常时,在前台应提供尽量可读的业务性提示,严禁简单的提示类似“操 作错误”等无意义的错误信息;同时应在后台打印出错误堆栈以便开发人员进行跟踪 解决6 .数据库连接释放使用数据库连接时必须在使用完连接后关闭相关的资源(包括Connect ion> Statements Resu I tSet),以防止数据库连接泄漏或游标泄漏的情况发生(try-f inal)