JAVA开发规范Word格式文档下载.docx

上传人:b****6 文档编号:20894952 上传时间:2023-01-26 格式:DOCX 页数:27 大小:35.61KB
下载 相关 举报
JAVA开发规范Word格式文档下载.docx_第1页
第1页 / 共27页
JAVA开发规范Word格式文档下载.docx_第2页
第2页 / 共27页
JAVA开发规范Word格式文档下载.docx_第3页
第3页 / 共27页
JAVA开发规范Word格式文档下载.docx_第4页
第4页 / 共27页
JAVA开发规范Word格式文档下载.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

JAVA开发规范Word格式文档下载.docx

《JAVA开发规范Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《JAVA开发规范Word格式文档下载.docx(27页珍藏版)》请在冰豆网上搜索。

JAVA开发规范Word格式文档下载.docx

1、项目组成员;

2、技术开发人员;

3、其他经公司认可的必要知情的人员。

1.3、文档约定

本文档采用MSWord2003软件编写,采用统一风格排版,正文风格为:

五号中文宋体、五号英文Arial字体、行距1.5行;

针对需要重点注意的段落,采用红色描色。

一般来说,各章内容相对独立,构成全文的有效组成部分。

1.4、相关概念及词汇列表

【同步代码】

在进行开发的过程中将本地的代码和SVN服务器的代码进行同步,在eclipse中的操作叫SynchronizewhitRepository。

【合并代码】

在同步的过程中,发现本地的代码和服务器上的代码都有所改变,这个时候会产生冲突,就需要合并代码。

【签入】

在进行开发的过程中将代码放入SVN服务器的操作叫签入(check-in),在eclipse中的操作叫提交。

【签出】

在进行开发的过程中将代码从SVN服务器下载下来的操作叫签出(check-out),在eclipse中的操作叫更新。

1.5、相关角色

【开发人员】

根据开发规范,进行日常开发工作。

【SVN管理员】

管理SVN服务器,包括开通帐号、停止帐号、处理SVN遇到的问题。

第二章、协作规范

开发人员编写程序的过程中,每个程序都会有很多不同的版本,这就需要开发人员很好的管理代码,在需要的时间可以取出需要的版本,并且每个版本都需要一个完成的说明和标记。

我们公司采用SubVersion(简称SVN,主要用于定制项目管理)和Rationalteamconcert(简称RTC,主要用于产品管理)做为版本管理工具,在多个开发人员开发同一段代码的过程中,版本的管理和协作规范显得尤为重要。

2.1、参与协作开发

如何参与协作开发,具体参考以下文档:

1、SVN:

《SVN使用指南.doc》

2、RTC:

《RTC使用指南.doc》

2.3、相关规范

1、开发环境一律使用公司标准开发环境,如使用自己的开发环境,遇到问题则自己行解决;

2、每个开发人员都有自己的帐号和密码,禁止使用其他开发人员的帐号和密码,可以保证每个版本都能找到相应的开发人员,如需开通新帐号密码,请告知SCM管理员;

3、遇到SCM服务器问题,应及时寻找SCM管理员帮助解决,避免自己去尝试解决导致服务器崩溃;

4、发现冲突必须经过手动合并后才能上传到SCM服务器上,不能将其他开发人员的代码直接覆盖,导致代码丢失;

5、上传的代码必须保证是能运行的代码,不能将未经过测试的代码就上传SCM服务器上,导致其他发开人员项目启动不了;

6、每天下班前将当天开发的已完成的代码提交到服务器上;

7、每天早上来到公司应该同步SCM服务器,将最新的代码更新到本地,可以避免服务器崩溃后找不到最新的代码。

注:

开发人员必须遵守以上规范,如发现未遵守以上规范,导致代码丢失或者影响其他开发人员正常工作的行为,会给予相应的处罚

第三章、设计规范

开发人员在编程过程代码目录结构、业务逻辑在什么地方、配置文件存放位置等都需要规范,以便其他开发人员快速查找文件,减少开发过程中的沟通,减少维护成本。

3.1、JAVA存放位置

src是存放JAVA代码的目录,我们公司所有的项目的包名前面都有com.landray.kmss,后面接的是项目名称,如HR项目就是com.landray.kmss.hr,下面是HR的各个模块,如绩效考核模块:

com.landray.kmss.hr.pm。

我们公司采用三层架构(struts、hibernate、spring),JAVA代码分成五个目录存放,目录包括action、form、dao、model、service,还有一个ApplicationResources.properties资源文件文件,每个模块都包含五个目录和一个资源文件。

代码结构如下:

com.lanray.kmss.项目名称

——模块1

——子模块(如归档模块)

——action

——constant

——dao

——hibernate

——form

——model

——service

——spring

——util

——ApplicationResources.properties

——模块2

——模块3

例子:

com.landray.kmss.hr.pm.action

com.landray.kmss.hr.pm.archive(绩效考核归档模块)

com.landray.kmss.hr.pm.dao

com.landray.kmss.hr.pm.dao.hibernaete

com.landray.kmss.hr.pm.form

com.landray.kmss.hr.pm.model

com.landray.kmss.hr.pm.service

com.landray.kmss.hr.pm.service.spring

com.landray.kmss.hr.pm.ApplicationResources.properties

3.2、页面存放位置

页面文件存放在WebContent目录下面,代码结构如下:

WebContent

——项目名称

——模块1

——模块2

——模块3

例子:

——hr

——pm

——hr_pm_action

——hr_pm_angle

——resources(可选)

——retain

——salary

发现多个模块使用的文件的直接存放在模块下

resources存放JS、图片、样式、静态HTML

3.3、配置文件存放位置

配置文件名

放置路径样例

spring配置文件

WebContent/WEB-INF/KmssConfig/sys/organization/spring.xml

枚举类型文件

WebContent/WEB-INF/KmssConfig/sys/organization/enums.xml

设计信息配置文件

WebContent/WEB-INF/KmssConfig/sys/organization/design.xml

struts配置文件

WebContent/WEB-INF/KmssConfig/sys/organization/struts.xml

校验配置文件

WebContent/WEB-INF/KmssConfig/sys/organization/validation.xml

Hibernate配置文件

WebContent/WEB-INF/KmssConfig/sys/organization/hibernate.xml

design、spring.xml等文件应存放WebContent\WEB-INF下的KmssConfig目录下面,代码结构如下:

——WEB-INF

——KmssConfig

——项目名称

——模块1

——data-dict

——模块2

——hr

——pm

——data-dict

——HrPmAction.xml

——design.xml

——spring.xml

——hibernate.xml

——struts.xml

——validation.xml

——enums.xml

——retain

3.4、业务代码位置

业务代码均在spring或者dao中开发,action只用于页面的跳转,禁止在action写大量业务代码,禁止对model进行赋值操作,禁止多次调用service的更新操作,禁止直接调用dao

开发人员在开发过程中请严格遵循以上代码结构

3.5、数据库设计

数据库设计在开发中如有更改,要及时维护PowerDesigner

没有必要情况不要写数据库特性的sql语句,尽量使用HQL语句,如有特殊情况特殊处理

3.6、Model规范

model里面不能使用基础类型,只能使用对象类型,如:

double类型、int类型等是不能使用,要使用Double类型、Integer类型等

hbm中String的length大于1500的不能超过5个,否则使用clob属性

针对类似Clob、Blob等大字段类型的字段,必须采用字段延时加载的模式,修改样例如下:

1、hbm文件:

<

property

name="

docContent"

column="

doc_content"

update="

true"

insert="

not-null="

false"

type="

mon.dao.ClobStringType"

lazy="

length="

1000000"

/>

2、model类(需实现net.sf.cglib.transform.impl.InterceptFieldEnabled接口):

protectedStringdocContent;

publicStringgetDocContent(){

return(String)readLazyField("

docContent);

}

publicvoidsetDocContent(StringdocContent){

this.docContent=(String)writeLazyField("

this.docContent,docContent);

3.7、Design配置规范

-design中配置模块首页(homepage)

例如:

!

--知识库主页配置-->

homePage

urlPrefix="

km/doc"

url="

/moduleindex.jsp?

nav=/km/doc/tree.jsp&

amp;

main=%2Fkm%2Fdoc%2Fkm_doc_knowledge%2FkmDocKnowledge.do%3Fmethod%3DlistChildren%26s_path%3D%25E6%2589%2580%25E6%259C%2589%25E6%2596%2587%25E6%25A1%25A3"

messageKey="

km-doc:

kmDoc.tree.title"

注意:

url需要转码,并且不能将s_css=default配置在里面

错误的配置:

<

urlPrefix="

main=/km/doc/km_doc_knowledge/kmDocKnowledge.do?

method=listChildren&

s_path=%E6%89%80%E6%9C%89%E6%96%87%E6%A1%A3&

s_css=default"

-design中portlet配置需要添加morlUrl,默认配置为模块首页地址

moreURL="

/km/doc.index"

-有“我的工作”、“系统配置”、“草稿”等属性需要在design中配置myjob、config、darft等treenode

3.8、JAVA类规范

-不能使用累赘方法(循环嵌套),循环次数不能超过两次,当出现这样的情况,需要抽取成方法,增加代码可读性

PublicvoidTest(){

for(i=0;

i<

2;

i++){

Test1();

}

PublicvoidTest1(){

Test2();

错误的写法:

for(i=0;

i++){

for(j=0;

j<

j++){

for(k=0;

k<

k++){

for….

-没有使用过的变量需要删除

-没有使用过的方法需要删除

-已经不需要的代码不要长篇幅的注释放在那里

-方法体需要添加注释

3.9、JSP界面规范

-jsp不允许直接写中文

if(fdBeforeStartTimeReminds==null||fdBeforeStartTimeReminds=="

"

){

alert("

bean:

messagekey="

kmCalendarMain.msg.unableSendRemind.timeError"

bundle="

km-calendar"

/>

);

document.getElementById("

fdBeforeStartTimeRemind"

).focus();

returnfalse;

日程开始前提醒的时间不能为空"

sunbor:

columnproperty="

kmCalendarMain.docCreateTime"

>

messagebundle="

key="

/sunbor:

column>

创建时间

-单选按钮或多选按钮需要添加<

lable>

/lable>

标签,如:

label>

inputtype=”radio”name=”fdYesNo”value=”true”>

是<

/label>

inputtype=”radio”name=”fdYesNo”value=”false”>

否<

-js中alert使用的资源文件中若含有双引号,alert必须使用单引号。

km.doc.subject=当前操作为“修改当前处理人”!

alert('

km.doc.subject"

'

alert("

3.10、properties资源文件规范

-properties不允许写入含有单引号或双引号的html语句,如必要资源文件需拆语句

资源文件中

sysNotifyTodo.home.you=您

sysNotifyTodo.home.notHave=没有

sysNotifyTodo.home.todo=待办事宜

jsp中

messagebundle='

sys-notify-todo'

key='

sysNotifyTodo.home.you'

&

nbsp;

fontstyle="

color:

#FF6600;

b>

sysNotifyTodo.home.notHave'

/font>

sysNotifyTodo.home.todo'

sysNotifyTodo.home.havenot=您&

没有<

/b>

待办事宜

sysNotifyTodo.home.havenot'

第四章、代码规范

4.1、命名规范

1.数据库设计

表和字段全部小写,用“_”分隔表名或字段名中的多个词

表:

[产品简称_模块简称_表简称]

样例:

hr_org_dept

每个数据库的主表:

[产品简称_模块简称_main]

km_review_main

子表名称:

[产品简称_模块简称_主表简称_子表简称]

km_review_main_keyword

中间表名称:

[产品简称_模块简称_主表简称_字段简称]

km_review_main_post

主键:

[fd_id]

外键:

[fd_字段名_id]

fd_creator_id

字段:

[fd_字段名]

fd_order

字段类型:

主外键:

VARCHAR2(36)

布尔:

NUMBER

(1)

枚举:

NUMBER

(2)

普通的多行文本:

VARCHAR2(1500)或VARCHAR2(2000)

RTF:

CLOB

排序号:

NUMBER(10)

表名长度、字段名长度均不能超过30个字符

2.JAVA类

类名:

[产品简称+模块简称+表内容简称]

HrOrgDept

普通属性:

[fd字段名]

fdOrder、docCreator

特殊对象属性:

直接属性的类名(首字母小写)

说明:

特殊对象指该对象通过类名已经可以明确对象的含义,该对象无二义性,如:

hrOrgPostType(岗位性质)。

但类似SysOrgElement(组织架构元素)的对象,它既可以表示创建者,也可以表示修改者或其他实际的业务属性,这种情况下,该对象必须以“普通属性”的格式命名,如创建者命名为fdCreator。

hrOrgPostType

普通列表属性:

[fd字段名的复数]

fdEditors

特殊列表属性:

直接属性的类名的复数

特殊列表属性类似于特殊对象属性,与普通列表属性的区别是该类含义无二义性。

hrOrgPostTypes

3.常用表名字

含义

表名

样例

模板-类别中间表

[产品简称_模块简称_tmp_category]

km_review_tmp_category

如果有多种模板则根据需要修改单词:

tmp

相关岗位中间表

[产品简称_模块简称_主表简称_post]

相关属性中间表

[产品简称_模块简称_主表简称_property]

km_review_main_property

关键字中间表

[产品简称_模块简称_主表简称_keyword]

管理员中间表

[产品简称_模块简称_主表简称_admin]

km_review_main_admin

可阅读者/可使用者中间表

[产品简称_模块简称_主表简称_reader]

km_review_main_reader

可编辑者/可维护者中间表

[产品简称_模块简称_主表简称_editor]

km_review_main_editor

其他可阅读者

[产品简称_模块简称_主表简称_oreader]

km_review_main_oreader

其他可编辑者

[产品简称_模块简称_主表简称_oeditor]

km_review_main_oeditor

所有可阅读者

[产品简称_模块简称_主表简称_areader]

km_review_main_areader

所有可编辑者

[产品简称_模块简称_主表简称_aeditor]

km_review_main_aeditor

附件可拷贝者

[产品简称_模块简称_主表简称_attcopy]

km_review_main_attcopy

附件可下载者

[产品简称_模块简称_主表简称_attdl]

km_review_main_attdl

附件可打印者

[产品简称_模块简称_主表简称_attprint]

km_review_main_attprint

4.常用字段

普通类型

字段名

Java属性名

数据库字段类型

Java字段类型

必须

名称

fd_name

fdName

VARCHAR2(200)

String

Y

排序号

fdOrder

Integ

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 理学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1