2024年java特有的基础规范

java特有的基础规范目录 01 规范存在的意义 02 命名规范 03 注释规范 04 代码格式规范 05 其他规范 06 工程特有命名规范 07 应用命名总结 08 JAVA 编程规范 09 J2EE 应用程序组件 01 规范存在的意义 应用编码规范对于软件本身和软件开发职员而言尤为重要 有以下几个原因 好的编码规范可以尽可能的减少一个软件的维护本钱 并且几乎没有任何一个软件

大家好,我是讯享网,很高兴认识大家。



01 规范存在的意义

应用编码规范对于软件本身和软件开发职员而言尤为重要,有以下几个原因:

  1. 好的编码规范可以尽可能的减少一个软件的维护本钱 , 并且几乎没有任何一个软件,在其整个生命周期中,均由最初的开发职员来维护;
  2. 好的编码规范可以改善软件的可读性,可以让开发职员尽快而彻底地理解新的代码;
  3. 好的编码规范可以最大限度的进步团队开发的合作效率;
  4. 长期的规范性编码还可以让开发职员养成好的编码习惯,甚至锻炼出更加严谨的思维;

02 命名规范

1. 一般概念

  • 尽量使用完整的英文描述符
  • 采用适用于相关领域的术语
  • 采用大小写混合使名字可读
  • 尽量少用缩写,但假如用了,必须符合整个工程中的同一定义
  • 避免使用长的名字(小于 15 个字母为正常选择)
  • 避免使用类似的名字,或者仅仅是大小写不同的名字
  • 避免使用下划线(除静态常量等)

2. 标识符类型说明

 getCurrentUser() addUser() hasAuthority()
讯享网

讯享网 public static final Long FEEDBACK; public static Long USER_STATUS;

03 注释规范

问问你自己,你假如从未见过这段代码,要在公道的时间内有效地明白这段代码,你需要一些什么信息???

1. 一般概念

  • 注释应该增加代码的清楚度
  • 保持注释的简洁
  • 在写代码之前或同时写注释
  • 注释出为什么做了一些事,而不仅仅是做了什么

2. 注释哪些部分

Java 文件:必须写明版权信息以及该文件的创建时间和作者;

类:类的目的、即类所完成的功能,以及该类创建的时间和作者名称;多人一次编辑或修改同一个类时,应在作者名称处出现多人的名称;

接口: 在满足类注释的基础之上,接口注释应该包含设置接口的目的、它应如何被使用以及如何不被使用。在接口注释清楚的条件下对应的实现类可以不加注释;

方法注释: 对于设置 (Set 方法 ) 与获取 (Get 方法 ) 成员的方法,在成员变量已有说明的情况下,可以不加注释;普通成员方法要求说明完成什么功能,参数含义是什么且返回值什么;另外方法的创建时间必须注释清楚,为将来的维护和阅读提供宝贵线索;

方法内部注释: 控制结构,代码做了些什么以及为什么这样做,处理顺序等,特别是复杂的逻辑处理部分,要尽可能的给出具体的注释;

参数: 参数含义、及其它任何约束或条件条件;

属性: 字段描述;

3. 注释格式

04 代码格式规范

05 其他规范

06 工程特有命名规范

  • Hibernate 映射文件及实体与数据库表名称完全对应;

  • 数据访问 DAO

DAO 接口和实现类名称必须完全符合正常接口和实现类的命名规则,且最后以 ”DAO” 结尾DAO 内的数据访问方法必须足够抽象的描述出对数据库的基本 CRUD 操纵;
如: ICrossAdDAO( 接口 ) 、 CrossAdDAO( 实现类 )

  • 各种操纵数据库的 HQL 配置文件

HQL 文件的个数原则上与系统的 Services 层的服务个数相等,且以服务名称命名 HQL 文件;
如: resource.hbm.xml

2. 服务层

服务接口和实现类必须完全符合正常接口和实现类的命名规则;以工程定义的服务名为主体, 并同一以 ”Serv” 结尾
如: IResourceServ( 服务接口 ) 、 ResourceServ( 接口实现类 )

  • 返回类型为 Boolean 值:用“ is ”或“ has ”来开头
  • 得到某数据: get+ 数据描述名词复数 + 数据类型;
  • 得到所有数据: get+All+ 数据描述名词复数 + 数据类型;
  • 通过 XXX 得到 / 查询某数据: get/query+ 数据描述名词复数 + 数据类型 +By+ 条件;
  • 添加某数据: save/add+ 数据描述名词 ()
  • 更新某数据: save/update+ 数据描述名词;
  • 删除某数据: delete/remove+ 数据描述名词;

凡是继续 Abst*QuerySpec 的查询参数类全部满足以下规则:

  • Query+ 所要查询的数据描述名词 +Spec
  • 作为参数传进时,参数名必须为:所要查询的数据描述名词 +Spec

3. MVC 层

(1)Action 控制层

4. Spring 配置文件

(1) Action 相关配置文件

文件目录: WebRoot/WEB-INF/spring/action/功能模块名称 +_ApplicationContext.xml

(2)Services 相关配置文件

文件目录: WebRoot/WEB-INF/spring/services/Services_ApplicationContext.xml

(3)全局性配置文件

文件目录: WebRoot/WEB-INF/spring/工程名+_ApplicationContext.xml

07 应用命名总结

1. java类

Java类代表现实世界的一个事物,类名词最好是一个名词。最好采用现实的名称。如员工用Employee,而不是Employ避免歧义。最好不是用缩写empl等。

  • 应用软件中经常应用分层,每一层的类的名称尽量带上该层后缀。
  • 推荐实体类没有后缀名。
  • 数据层使用SQLMapper后缀。
  • 数据层查询参数为Param
  • 服务层使用Service
  • Web层使用Packager
  • Web层form表单后缀为Form

常用英文名称(最好能整理一份常用词汇词典)

  • 员工:employee
  • 部分:department

2. 字段

3. 方法

服务层方法,根据方法的行为命名,只描述方法的意义,而不采用方法的目的命名。比如系统的添加新用户,用户可以前台注册,也可以治理员后台添加,方法会被重用,所以最好不要用使用register,采用add会更好写。避免使用与web层相关的方法。
Web层方法最好是贴近web的语言,如register,login,logout等方法。

4. 变量

5. Xml文件名

6. URL命名

②J2EE组件层次J2EE组件和层次如图1-1所示。

图1-1 J2EE组件层次(略)

①. J2EE规范定义了如下组件:
A. 客户端组件
B. Web组件
C. EJB组件

A. 客户端层(Client Tier)
客户端层用来实现企业级应用系统的操纵界面和显示层。另外,某些客户端程序也可实现业务逻辑。可分为基于Web的和非基于Web的客户端两种情况。基于Web的情况下主要作为企业Web服务器的浏览器。非基于Web的客户层则是独立的应用程序,可以完成瘦客户机无法完成的任务。

B. Web层
为企业提供Web服务。包括企业信息发布等。Web层由Web组件组成。J2EE Web组件包括JSP页面和Servlets。Web层也可以包括一些JavaBeans。Web层主要用来处理客户请求,调用相应的逻辑块,并把结果以动态网页的形式返回到客户端。

C. 业务层(Business Tier)
业务层也叫EJB层或应用层,它由EJB服务器和EJB组件组成。一般情况下很多开发商把Web服务器和EJB服务器产品结合在一起发布,称为应用服务器。EJB层用来实现企业级信息系统的业务逻辑。这是企业级应用的核心,由运行在业务层中的EJB来处理。一个Bean从客户端接收数据、处理,然后把数据送到企业信息系统层存储起来。同样,一个Bean也可以从企业信息系统取出数据,发送到客户端程序。业务层中的EJB要运行在容器中,容器解决了底层的题目,如事务处理、生命周期、状态治理、多线程安全治理、资源池等。

D. 企业信息系统层(Enterprise Information System tier)
处理企业系统软件,包括企业基础系统、数据库系统及其他遗留的系统。J2EE将来的版本支持连接架构(Connector Architecture)。它是连接J2EE平台和企业信息系统层的标准API。
业务层和Web层共同组成了三层J2EE应用的中间层,其他两层是客户端层和存储层或企业信息系统层。

E. J2EE的分布应用技术
为实现企业级分布式应用,J2EE定义了丰富的技术标准,符合这些标准的开发工具和API为开发企业级应用提供支持。这些技术涵盖数据库访问、分布式通讯、安全等。为分布式应用提供支持的多方面。

a. 组件技术
J2EE的核心思想是基于组件/容器的应用。每个组件提供了方法、属性、事件的接口。组件可以由多种语言开发。组件是可以重用的、共享的、分布的。

b. Servlets和JSP
Servlets用来天生动态页面或接收用户请求产生相应操纵(调用EJB)。JSP基于文本。通过容器产生相应的Servlets,使内容和显示分开。J2EE中提供了Servlet API,用于创建Servlets。

c. EJB技术
EJB规范提供了一种开发和部署服务器端组件的方法。每个EJB是按功能逻辑划分的,开发时不必关注系统底层细节题目,只关注具体的事务分析。EJB开发完毕后,按规范部署在EJB容器,完成相应的事务功能。EJB支持分布式计算。真正体现了企业级的应用。

d. 数据库访问
无论是传统的企业信息系统还是将来的企业信息系统,数据库都占有重要的地位。开发分布式系统要求数据库访问具有良好的灵活性和扩展性。JDBC(JavaDatabase Connectivity)是一个独立于特定的数据库治理系统的开发接口。它提供一个通用的访问SQL数据库和存储结构的机制,支持基本SQL功能的一个通用底层的应用程序编程接口。它在不同的数据库界面上提供了一个同一的用户界面。提供了多种多样的数据库连接方式。J2EE中提供了JDBC API使多种数据库操纵简单、可行。

e. 分布式通讯技术
分布式通讯技术是分布式企业系统的核心技术。J2EE框架为Web应用和EJB应用提供多种通讯模式。
为了使运行于某一机器上的对象调用另一台机器的对象,J2EE实现了如下通讯方式:

  • Java RMI(Remote Method Invoke):远程方法调用。Java RMI实现Java对象间的远程通讯。服务器用注册器把一个名字和远程对象绑在一起,客户机通过名字从服务器注册器上查找远程对象,找到后下载远程对象的本地代理,调用远程对象的方法。
  • Java IDL(Java Inte*ce Defilation Language):接口定义语言。可以实现Java对象的符合CORBA规范的远程对象通讯。
  • JNDI(Java Naming and Directory Inte*ce):Java命名和目录接口。JNDI为分布式系统访问远程对象提供了一个标准的命名接口。EJB主接口对象、数据源、消息服务器等都可以用JDNI树的形式注册到名称服务器中,调用它们的对象通过符合JDNI的程序接口在JNDI名称服务器中查找指定名称的远程对象。
  • JMS(Java Message Service):Java消息服务。为开发消息中间件应用程序定义了一套规范。Java客户端和Java中间层访问消息系统只要实现JMS定义的简单的接口,就可以实现复杂的应用,而不必往关注低级的技术细节。

08 JAVA编程规范

1. 应用范围

  • 运行在客户端机器上的客户层组件
  • 运行在J2EE服务器上的Web层组件
  • 运行在J2EE服务器上的业务逻辑层组件
  • 运行在EIS服务器上的企业信息系统(Enterprise information system)层软件

09 J2EE应用程序组件

J2EE说明书中定义了以下的J2EE组件:

  • 应用客户端程序和applets是客户层组件.
  • Java Servlet和JavaServer Pages(JSP)是web层组件.
  • Enterprise JavaBeans(EJB)是业务层组件.

1. 客户层组件
J2EE应用程序可以是基于web方式的,也可以是基于传统方式的.

2. web 层组件
J2EE web层组件可以是JSP 页面或Servlets.按照J2EE规范,静态的HTML页面和Applets不算是web层组件。正如下图所示的客户层那样,web层可能包含某些 JavaBean 对象来处理用户输进,并把输进发送给运行在业务层上的enterprise bean 来进行处理。

3. 业务层组件
业务层代码的逻辑用来满足银行,零售,金融等特殊商务领域的需要,由运行在业务层上的enterprise bean 进行处理.下图表明了一个enterprise bean 是如何从客户端程序接收数据,进行处理(假如必要的话), 并发送到EIS 层储存的,这个过程也可以逆向进行。有三种企业级的bean: 会话(session) beans, 实体(entity) beans, 和消息驱动(message-driven) beans. 会话bean 表示与客户端程序的临时交互.当客户端程序执行完后, 会话bean 和相关数据就会消失. 相反, 实体bean 表示数据库的表中一行永久的记录. 当客户端程序中止或服务器封闭时, 就会有潜伏的服务保证实体bean 的数据得以保存.消息驱动 bean 结合了会话bean 和 JMS的消息监听器的特性, 答应一个业务层组件异步接收JMS 消息.

4. 企业信息系统层
企业信息系统层处理企业信息系统软件包括企业基础建设系统例如企业资源计划(ERP), 大型机事务处理, 数据库系统,和其它的遗留信息系统. 例如,J2EE 应用组件可能为了数据库连接需要访问企业信息系统3, J2EE平台由一整套服务(Services)、应用程序接口(APIs)和协议构成,它对开发基于Web的多层应用提供了功能支持,下面对J2EE中的 13种技术规范进行简单的描述

5. JDBC(Java Database Connectivity)
JDBC API为访问不同的数据库提供了一种同一的途径,象ODBC一样,JDBC对开发者屏蔽了一些细节题目,另外,JDCB对数据库的访问也具有平台无关性。 JNDI(Java Name and Directory Inte*ce)
JNDI API被用于执行名字和目录服务。它提供了一致的模型来存取和操纵企业级的资源如DNS和LDAP,本地文件系统,或应用服务器中的对象。

6. EJB(Enterprise JavaBean)
J2EE技术之所以赢得媒体广泛重视的原因之一就是 EJB。它们提供了一个框架来开发和实施分布式商务逻辑,由此很明显地简化了具有可伸缩性和高度复杂的企业级应用的开发。EJB规范定义了EJB组件在何 时如何与它们的容器进行交互作用。容器负责提供公用的服务,例如目录服务、事务治理、安全性、资源缓冲池以及容错性。但这里值得留意的是,EJB并不是实 现J2EE的唯一途径。正是由于J2EE的开放性,使得有的厂商能够以一种和EJB平行的方式来达到同样的目的。 RMI(Remote Method Invoke)

7. Java IDL/CORBA
在Java IDL的支持下,开发职员可以将Java和CORBA集成在一起。他们可以创建Java对象并使之可在CORBA ORB中展开, 或者他们还可以创建Java类并作为和其它ORB一起展开的CORBA对象的客户。后一种方法提供了另外一种途径,通过它Java可以被用于将你的新的应 用和旧的系统相集成。 JSP(Java Server Pages)

8. Java Servlet
Servlet是一种小型的Java程序,它扩展了Web服务器的功能。作为一种服务器真个应用,当被请求时开始执行,这和CGI Perl脚本很相似。Servlet提供的功能大多与JSP类似,不过实现的方式不同。JSP通常是大多数HTML代码中嵌进少量的Java代码,而 servlets全部由Java写成并且天生HTML。

9. XML(Extensible Markup Language)
XML是一种可以用来定义其它标记语言的语言。它被用来在不同的商务过程中共享数据。

10. JMS(Java Message Service)
MS是用于和面向消息的中间件相互通讯的应用程序接口(API)。它既支持点对点的域,有支持发布/订阅 (publish/subscribe)类型的域,并且提供对下列类型的支持:经认可的消息传递,事务型消息的传递,一致性消息和具有持久性的订阅者支 持。JMS还提供了另一种方式来对您的应用与旧的后台系统相集成。

11. JTA(Java Transaction Architecture)
JTA定义了一种标准的API,应用系统由此可以访问各种事务监控。

12. JTS(Java Transaction Service):
JTS是CORBA OTS事务监控的基本的实现。JTS规定了事务治理器的实现方式。该事务治理器是在高层支持Java Transaction API (JTA)规范,并且在较底层实现OMG OTS specification的Java映像。JTS事务治理器为应用服务器、资源治理器、独立的应用以及通讯资源治理器提供了事务服务。

13. JavaMail
JavaMail是用于存取邮件服务器的API,它提供了一套邮件服务器的抽象类。不仅支持SMTP服务器,也支持IMAP服务器。

小讯
上一篇 2024-12-31 08:39
下一篇 2024-12-23 17:47

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/6805.html