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

下载本文档

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

文档简介

JRESPLUS开发

--开发规范目录结构-工程projectsrcmainjavaresourcestestjavaresourcestargetpom.xmlmaven工程:projectsrcresourcesbuildclasses普通工程:projectsrcmainjavaresourceswebapptestjavaresourcestargetpom.xmlprojectsrcresourceswebappclasses推荐使用maven工程进行代码管理目录结构-包(package)comhundsun系统/产品/平台(可以有子级)模块(可以有子级)分层javapackage:com.hundsun.jresplus.web.nosessioncom.hundsun.jresplus.remoting.servercom.hundsun.jresplus.remoting.clientcom.hundsun.jresplus.web.urlcom.hundsun.crm.user.actioncom.hundsun.crm.user.servicecom.hundsun.crm.user.dao组织公司平台模块子模块组织公司系统模块分层平台/框架系统/产品目录结构-配置文件resourcesi18nmessages_en_US.propertiesmessages_zh_CN.properties。。。资源文件:resourcesspringcrm-user-beans.xmlcrm-account-beans.xml…非web工程中spring配置文件:WEB-INFconfspringcrm-datasource-beans.xmlcrm-service-beans.xml…pertiespertiespertiesvm-toolbox.xmlweb.xmlweb工程中的配置文件:spring配置文件命名:“产品-功能模块-beans.xml”系统参数配置文件日志配置文件数据库连接配置文件其他由于使用第三方包,由第三方包约定的配置文件准从约定的目录进行配置目录结构-web静态资源webappcomponentscomponents.csscomponents.jscomponentfolder1imgcomponentfolder2imgcssuserstyle.cssmodulesubmodulexx.cssimagesmodulesubmodulescriptsmodulesubmodulexx.jspluginsjqueryjquery.min.jsotherlib目录结构-web视图文件WEB-INFviewscomponentscomponents.vmlayoutdefault.vmmoduledefault.vmsubmoduledefault.vmxx.vmscreenindex.vmlogin.vmmodulesubmodulexx.vmcommon500.vm404.vmxx.vm命名接口:使用大写字母‘I’开头,符合驼峰规则类:首字母大写,符合驼峰规则驼峰规则(单词首字母大写后面的字母小写)如:UserAccount实现类:首字母大写,符合驼峰规则,以‘Impl’结束抽象类:以‘Abstract’开始,符合驼峰规则逻辑分层相关:(控制层)action:以Action结束,如“UserAction”;(服务层)service:以Service结束,如“IUserService”,“UserServiceImpl”;(逻辑层)logic:以Logic结束,如“IUserLogic”,“IUserLogicImpl”;(持久层)dao:以DAO结束,如“IUserDAO”,“UserDAOImpl”命名常量:使用全大写英文字符、下划线组成,首字符请使用字母,单词与单词之间使用下划线“_”分隔,声明时使用“static””final”修饰;如:变量:使用英文字符组成,符合驼峰规则,首字母小写,使用具有语义的方式命名(单词或通用的缩写)如:函数:使用英文字符组成,符合驼峰规则,首字母小写,使用具有语义的方式命名(函数的命名要与函数的行为一致)privatestaticfinalStringSESSION_KEY=“key_”;publicstaticfinalintSESSION_COUNT=10;StringuserName;注释-java源文件/**系统名称:*模块名称:*文件名称:${file_name}*软件版权:恒生电子股份有限公司*修改记录:*修改日期

修改人员

修改说明<br>*===========================================================**===========================================================*/每一次文件的变更,都需要在修改记录中维护注释-实现注释/*判断年龄限制*/单行注释/**该函数用于做什么*/块注释if(a==2){returnTRUE; /*specialcase*/}else{returnisPrime(a); /*worksonlyforodda*/}尾端注释//被注释的代码末行注释好的代码不需要注释好的代码从注释开始注释-文档注释/***功能说明:*<p>

系统版本:v1.0<br>*开发人员:${user}${user}@<br>*开发时间:${date}<br>*功能描述:写明作用,调用方式,使用场景,以及特殊情况<br>*/类与接口的文档注释:/***/字段的文档注释:/***methodcommentshere*${tags}*/函数的文档注释:声明每一行声明变量的数量一行只声明一个变量,因为这样更加容易添加注释,不容易在读代码的时候忽视一些变量变量的初始值尽量在声明变量的同时进行初始化;声明变量的位置只在代码块的开始处声明变量(一个块指任何一个使用大括号中间的代码)类和接口的声明编写类和接口时,应该遵守以下格式规则:

在方法名和其参数列表之前的左括号“(”不要有空格;

左大括号“{”位于声明语句同行的末尾;

右大括号“}”另起一行,除非是空语句;

方法与方法之间以空行分隔classSampleextendsObject{intvar;

Sample(intvar){this.var=var;}

intemptyMethod(){}...}语句一行最多包含一条语句;复合语句的大括号“{}”,不能和语句在相同行;条件判断语句必须使用大括号“{}”包含住执行语句,哪怕只有一行;循环语句必须使用大括号“{}”包含住执行语句;switch语句,当没有使用break进行结束(意味着继续向下执行)时,需要在原本用来写break语句的地方添加注释;成员变量与函数声明语句之间使用空行分隔;函数与函数之间使用空行分隔;函数内行数过长时,不同阶段的代码之间使用空行分隔;使用4个空格进行缩进;{

intvar=0;…..}惯例与准则1,避免通过实例访问其静态变量和函数,应该使用类来引用;2,避免在一个语句中给多个变量赋值,

如:a=b=1;3,不要使用内嵌赋值语句,

如:d=(a=b+c)+e;4,条件判断时,尽量使用圆括号“()”,

如:if((a==b)&&(c==d))5,三目运算前的表达式应该使用圆括号,

如:(x>=0)?x:-x;6,避免重复代码,当在两处或者更多的地方发现相似的代码时,应该考虑将重复代码抽取为函数;7,函数应该尽量短小;8,函数和变量的命名使用有意义的命名,提高可读性;9,为每一个类和函数分配正确的职责(单一职责),且与命名一致;10,尽早的进行代码重构;11,尽量少的注释和不注释,如果发现一段代码必须用注释才能阅读时,说明该代码需要进行重构了;12,注释要与实现一致,如果一段代码使用注释说明行为,那么注释需要与行为一致;善用eclipse的refactor(重构)菜单jresplus开发-逻辑分层服务层表现层(web)业务逻辑层数据访问层JavaScriptVelocityHTMLCSSSpringMVCMyBatisSpringSpringSpring上层依赖下层面向接口不跨层日志异常POJOJresplusMVC逐层向下构建由交互开始服务契约数据契约表现层(其他客户端)表现层:通过web方式的人机交互界面,提供业务内容展示、操作的入口;服务层:用来组织业务逻辑,向表现层提供业务服务,降低表现层对业务处理逻辑层的耦合,提高业务处理逻辑的复用度;业务逻辑层:负责承载业务的逻辑处理;数据访问层:负责数据的持久化、访问操作;基础运行与开发环境集成BO

服务层表现层(web)业务逻辑层数据访问层HTML\CSS\JSVelocitySpringMVCHibernate\JPADozerSpringSpring上层依赖下层面向接口不跨层日志异常POJOJresplusMVC逐层向下构建由交互开始服务契约数据契约表现层(其他客户端)DHTMLXJQueryJresplus-UIJresplus-remotingSpringjresplus开发-表现层-视图开发表现层使用velocity模板语言开发layoutscreenCOCviewWEB-INFviewslayoutscreen视图文件有布局文件和内容文件组成布局文件和内容文件通过COC的原则组成最终的视图WEB-INFviewslayoutdefault.vmscreenmodulemoduledefault.vmsameName.vmsameName.vm1,首先匹配同名目录下的同名布局文件2,其次匹配同名目录下的default布局文件4,最后匹配布局根目录下的default布局文件SubModuleSubModuledefault.vm3,再次匹配上级目录下的default布局文件《jresplus视图开发》jresplus开发-表现层-控制器控制器使用springmvc提供的注解方式开发,如:《jresplus-mvc开发》@Controller@RequestMapping("/user")public

classUserAction{@AutowiredIUserManagerServiceuserService;@RequestMapping("/accountList")public

void

accountList(UserAccountQueryquery,Modelmodel){List<UserAccount>list=userService.queryAccountListPage(query);model.addAttribute("accountList",list);}@RequestMapping(value="/account",method=RequestMethod.GET)public

voidgetAccount(UserAccountaccount,Modelmodel){userService.queryUser(account);UserAccountaccount=userService.getAccount(query);model.addAttribute("account",account);}@RequestMapping(value="/account",method=RequestMethod.POST)public

StringaddAccount(UserAccountaccount,Modelmodel){userService.addAccount(account);return

"redirect:/user/accountList.htm";}}jresplus开发-服务开发《jresplus-remoting开发》HSESBWEB端ViewControllerJresplus-remotingclient服务契约T2服务端Jresplus-remotingserver服务契约logicDAOT2OtherServerOtherClient客户端、接入端、服务端都通过T2协议接入到HSESB总线上Jresplus-remoting提供client(客户端)和server(服务端)的支持,结合

温馨提示

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

评论

0/150

提交评论