Java开发规范_第1页
Java开发规范_第2页
Java开发规范_第3页
Java开发规范_第4页
Java开发规范_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、北京韩金网络技术有限公司 北京韩金网络技术有限公司Java项目开发规范(2015版)北京韩金网络技术有限公司二一五年十二月审定: 审核: 编写:目 录第一章引言4第一节编写目的4第二节预期读者4第三节本文的约定5第四节本文的内容5第五节适用范围6第二章开发环境7第一节操作系统环境7第二节开发工具7第三节版本管理工具8第三章软件开发框架9第一节整体结构规范9第二节开发框架的使用11第三节代码结构规范11第四节模块命名规范12第五节配置文件位置及规范13第四章公共组件的选用14第一节基础框架组件的选用14第二节日志组件的选用15第三节jquery的选用15第五章公司开发技术组件16第六章公司开发模

2、块17第一节模块开发规范17第二节模块应用规范17第三节模块的使用18第七章技术支持和信息反馈19第一节信息反馈19第二节技术支持19第一章 引言第一节 编写目的 本规范的目的是使本公司所有的软件开发部门能以统一的、规范的方式开发应用软件系统。通过建立编码规范,提高代码的可靠性、可读性、可修改性、可维护性和一致性等,增进团队协作能力,保证软件产品的质量。通过建立统一的Java软件开发框架,树立公司清晰的、有远见的技术方向,明确Java软件项目的基础构件和接口,减少基础框架研究和构建的成本,统一的开发接口和规范还能保证公司软件模块在不同的项目中可以共享,从而提供开发效率和软件产品质量。同时本文也

3、是一份J2EE开发指南,用于指导公司软件工程师开发java软件项目。第二节 预期读者 本文预期读者为公司的参与软件项目开发的项目经理、开发人员及质量管理部门相关人员。第三节 本文的约定为了使本Java规范具有可操作、可用性、可持续等特性,本文做以下约定:1. 统一公司Java开发技术,以公司软件资源共享、节省软件开发工作量、提供工作效率和软件产品质量为目标;2. 本Java软件开发规范具有可操作性,软件框架要有一定的伸缩性和适应性,能够在公司不同的Java项目中执行;3. 针对某一问题,技术实现有很多种方式,并且各种技术方案都有自身的优缺点,本文应该尽力选择最适合本公司应用的软件技术方案,一旦

4、技术方案确定即成为公司技术规范的依据;4. 本文发布以后,应该对相关开发人员进行培训;5. 本文发布以后,技术研发一部负责收集大家反馈的问题和新需求,并在必要时对Java规范进行修改和补充;6. 本开发规范应该根据公司的积累不断的补充,定期升级公司J2EE规范,并发布新版本。第四节 本文的内容本文的内容比较宽泛,涉及公司Java项目各个方面,如开发工具选择、开发框架的定义、组件的选择等方面,如下表所示:序 号类 别说 明1开发环境定义Java开发软件环境、开发工具、及版本管理工具。2软件开发框架定义Java软件项目的结构规范。3公共组件1、 定义框架组件的选用,如SpringMVC、Mybit

5、s等组件的选用;2、 定义常用组件的选用,如数据访问驱动,文档上传组件的选用。4公司开发组件公司内部开发组件的规范和定义,如文件上传、字符处理等组件。5公司开发模块公司开发各个模块的规范和定义,如权限管理模块、短信模块。表1 java项目涉及到的主要方面本文定义的内容将根据需要,定期进行修订和补充。第五节 适用范围本文规定的所有规范适用于公司所有Java软件项目。对于特殊情况未能遵守本规范的项目,请保留项目技术评审相关结果记录。第二章 开发环境统一规定公司的所有软件项目的开发环境,使公司的所有软件项目都在统一的开发环境下进行开发,以便于软件项目的移植,同时也避免了因为环境不一致而导致的软件项目

6、不能共享和开发不能协作等问题。第一节 操作系统环境Java开发操作系统环境为Windows 环境(32位或64位)。任何使用第三方文本编辑系统的情况,请使用UTF-8编码。第二节 开发工具开发工具的指定,是从开发工具的版权、开发工具的功能以及软件的可扩展性等多方面进行考虑的,集成开发环境、JRE、应用服务器分别指定如下:n 集成开发环境:Eclipse EE5 (Eclipse Web开发版本)在Eclipse发行新版本后,由公司统一升级版本。MyEclipse涉及版权问题,不作为公司指定开发工具,只能作为开发人员学习研究的工具。n JRE:JDK 1.8.0 (对于指定JDK版本的项目,请使

7、用指定版本的JDK, 应用服务器:Tomcat 7 (对于需要运行在指定应用服务器的项目,需要同时具备指定应用服务器的运行环境)。开发工具、JRE、应用服务器都使用文件夹拷贝方式进行部署,最新的开发工具部署包从技术研发一部获取。开发工具中已经集成部分本规范规定的插件,如GIT插件、maven同步工具插件。第三节 版本管理工具2.3.1 代码管理服务器公司所有软件项目采用统一的代码管理服务器存储,新建项目和分配权限由项目经理提出申请,配置管理员操作执行。2.3.2 代码管理工具公司所有java项目开发版本管理使用git版本控制工具。n 服务器端:GITSERVER该软件部署在公司的开发服务器上。

8、n 客户端:source tree 第三章 软件开发框架本章主要阐述java项目目录结构的规定及各部分命名规范。关于框架的组件选用将后面的章节给出规定。第一节 整体结构规范java项目采用统一结构,以便于系统项目的维护以及多个项目之间共享资源。该项目规范是指maven Web应用的项目(客户端应用程序的结构规范属于子集,即不包括app部分的规范)。项目整体目录结构规范如下:系统内库入口webapp目录测试用例目录 配置文件目录合Java代码目录图 1 Java项目基本结构图 编 号目 录目录说明1Src/main/javaJava代码目录,存放java代码2Src/main/ resource

9、s系统xml配置文件 2Src/main/css样式文件存放目录,相应存储规则如下:1) 所有公共样式文件存在根目录下;2) 各个模块私有样式存在独立的目录,即在样式文件根目录下建立子目录,目录名和模块名称相同。3Src/main/images图片文件存放目录,相应存储规则如下:1) 系统框架部分的图片存在图片文件根目录或根据需要单独建立子目录;2) 所有模块公用的目录存储在图片文件根目录或根据需要单独建立子目录;3) 各个模块私有的图片文件存储在独立的目录,即在图片文件根目录下建立子目录,目录名和模块名称相同。4Src/main/js 脚本文件存放目录,相应存储规则如下:所有模块公用的脚本存

10、储在脚本文件根目录;各个模块私有的脚本文件存储在独立的目录,即在脚本文件根目录下建立子目录,目录名和模块名称相同。5Src/main/viewJsp文件存放目录6WEB-INF/lib系统库统一由maven管理7Pom.xml系统库配置接口表2 目录结构说明注:项目文档统一使用公司项目管理系统文档管理来实现,临时项目文件由各项目经理自行安排存储与交换方式。第二节 开发框架的使用项目开始开发(编码)时,项目组首先从代码服务器上获取最新版本的系统框架,系统框架包括系统整体框架、相关组件包(jar包)、框架界面、登录界面等。系统框架默认包括权限管理模块的最新版本,用于管理系统用户、模块及权限。项目开

11、发的下一步工作是按照项目需求加入公司已经开发完成的模块,以及按照项目需求开发新的业务模块。第三节 代码结构规范本文阐述公司java项目的目录及命名规范。项目公共目录,存放通用类和工具类其中java代码目录规范如下图所示:业务层持久层公共资源配置文件控制层Mybatis代码生成配置文件Mybatis sql配置文件 实体类图 2 J2EE代码结构编 号包 名目录说明1com.hanjin.userconter. util项目通用包,用来存放项目工具类、通用类 Md5util.java JsonUtil.java 等2com.hanjin.userconter.login. controller项

12、目控制包,用来处理dao页面跳转的实现类3com.hanjin.userconter.login.dao项目持久层包4com.hanjin.userconter.login.dao.sql配置sql 的 xml包5com.hanjin.userconter.login. model项目实体类包6com.hanjin.userconter.login.service项目业务层包,用来存放模块处理业务逻辑的实现类表3 java代码包结构说明 基于java平台的项目,所有包名均以com.hanjin.<业务模块>开头。命名规则是:com.hanjin.业务模块.模块名称,如用户登录模块名

13、称为:com.hanjin.userconter.login。第四节 模块命名规范模块是指系统中的各个业务功能模块,各个模块在组织上和功能上相对独立。模块的命名要有含义,各个模块的名称统一采用小写英文字母命名,如:编 号模块名模块用途1common公共模块2security权限管理模块3login登录模块4message短信模块表 4 模块命名举例第五节 配置文件位置及规范java项目的配置文件主要涉及SSM框架配置、日志组件配置文件及其他配置文件。配置文件位置及命名规范,定义了各类配置文件存放的位置及这些文件如何命名:1) Spring配置文件位置及命名规范:Spring配置文件统一存储在s

14、rc/main/ resources目录位置,命名为:applicationContext.xml,spring-servlet.xml,系统默认公共的配置文件为applicationContext-common.xml。2) 日志组件配置文件:日志组件配置文件统一规定为perties,存放在src/main/ resources目录位置。3) 数据库配置文件:数据库组件配置文件统一规定为perties,存放在src/main/ resources目录位置。第四章 公共组件的选用Java平台是个开放的平台,java开发有很多成熟的开发组件,同一类组件不同的厂商

15、有不同的实现方式。为了统一公司的开发技术,达到技术共享的目的,本章规定了公共组件的选用。公共组件在本文中是指第三方提供的、J2EE开发通常使用的组件,如数据访问组件(或框架)、日志组件、文件上传组件等等。第一节 基础框架组件的选用java项目基础框架组件选用当前流行的SSM框架,所以模块的开发需要按照SSM的开发模式进行。对于有特殊技术需要的项目在技术委员会评定确认以后可以不采用SSM作为基础开发框架,但如果需要引用其他在该框架下开发的模块,必须保留各框架组件的类库以保证系统能够正常运行。2015年版本的公司JAVA开发框架的SSM框架的各组件版本说明如下:编 号组件版本组件用途1Spring

16、 MVC2Spring4.1.03Mybatis3.2.6表 5 SSM框架组件原则上基础框架组件能够完成的技术实现不得采用其他同类组件来实现。SSM应用还做了如下规范:1) Spring的配置文件可以基于注解和配置文件两种方式。在同一个项目中,注解和配置文件可以混合使用,但在同一模块中只允许使用其中一种方式。第二节 日志组件的选用日志组件使用log4j组件,选用版本为1.2.17。第三节 jquery的选用一般情况下,避免使用ExtJs脚本组件。如果项目中需要使用jquery,统一使用jquery1.9.0版本。第五章 公司开发技术组件相对于公共组件来说,公司开发的用于解决特定技术问题的组件

17、,这些组件如果没有现成的(或合适的)第三方组件可以替代,开发完成以后可以应用到公司的多个项目中。编制中对于已经存在的组件,各项目组要充分利用已有组件资源,不得重新单独开发。第六章 公司开发模块 公司将逐渐开发和积累软件成果,软件成果以(业务或技术)模块的形式存在,软件模块的复用是公司提高软件开发效率、节约开发成本、提高软件开发质量的重要途径。公司开发模块的规范包括模块开发的规范以及模块应用的规范。模块开发的规范是指开发各个模块应该遵循的规范,使开发完成的模块符合J2EE开发规范,并且可以应用到其他项目中。这里要遵循的规范主要是目录结构规范、使用技术规范、组件规范、版本规范等。模块的应用规范给出

18、公司开发项目应该使用的成熟模块以及模块的接口和应用条件等。模块的应用规范规定公司开发项目要使用的模块、选择合适的版本、按照正确的方式来使用。第一节 模块开发规范编制中第二节 模块应用规范公司启动新项目以后,一方面要使用本文所规定的软件框架和规范进行开发,还要充分利用已经成熟的模块,不得单独重新开发。当碰到特殊业务需要时,如果公司已有模块不能满足需求,经过公司技术委员会评估确认以后可以为特定项目单独开发某一模块。当开发过程碰到模块中不能满足系统需要的缺陷时,开发人员提交给软件技术研发一部,由软件技术研发一部根据缺陷的严重程度和紧迫性立即更新软件或者在模块的下一个版本中进行修复或改进。目前公司规定统一使用的模块如下表所列:编 号模 块版 本模块说明1权限管理模块1.0.0用户管理、角色管理、分组管理、权限管理23表 6 公司规定统一使用的模块第三节 模块的使用当开发项目需要使用到某个模块时,就需要从模块资源库中获取该模块的相关资源(请与技术支持联系),包括模块程序代码、模块配置文件、模块相关脚本等。一个模块的资源包括以下几个部分。编 号资 源资源说明1目录:src/com.hanjin

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论