JavaEE新开发规范文档
- 格式:doc
- 大小:327.00 KB
- 文档页数:15
Java 开发规范文档一:目的使本组织能以标准的,规范的方式设计和编码。
通过建立编码规范,以使每个开发人员养成良好的编码风格和习惯;并以此形成开发小组编码约定,提高程序的可靠性,可读性,可修改性,可维护性和一致性等,增进团队间的交流,并保证软件产品的质量。
二:代码组织与风格1:长度:为便于阅读和理解,单个函数的有效代码长度当尽量在100行以内(不包括注释行),当功能模块过大时往往采用使用子函数将相应的功能抽取出来,这也有利于提高代码的重用度。
2:单个类不宜过大,当出现此类过大时当将相应功能的代码重构到其他类中,通过组合等方式来调用,建议单个类的长度包括注释行不超过1500行。
尽量避免使用大类和长方法。
3:间隔:类,方法及功能块间等应以空行相隔,以增加可读性,但不得有无规则的大片空行。
操作符两端应当各空一个字符以增加可读性。
三:注释1:注释应该增加代码的清晰度。
代码注释的目的时要使代码更易于被其他开发人员等理解。
2:保持注释的简洁。
3:注释信息应该包括代码的功能。
4:除变量定义等较短语句的注释使用行尾注释外,其他注释当避免使用行尾注释。
5:JavaDoc规范对类,方法,变量等注释需要符合javadoc规范,对每个类,方法都应详细说明其功能条件,参数等。
类注释中应当包含版本和作者信息。
1)类,接口注释在类,接口定义之前当对其进行注释,包括类,接口的目的,作用,功能,继承于何种父类,实现的接口,实现的算法,使用方法,示例程序等。
2)方法注释以明确该方法功能,作者,各参数含义以及返回值等。
3)其他注释应对重要的变量及不易理解的分支条件表达式加以注释,以说明其含义等。
四命名规范1:对变量,类,接口及包的命名应该使用英文。
严禁使用汉语拼音及不相关单词命名。
更不可以使用汉字来进行命名。
采用大小写混合,提高名字的可读性。
一般应该采用小写字母,但时类和接口的名称的首字母,以及任何中间单词的首字母应该大写。
包名全部小写。
java开发规范(一)java命名规范1、变量、成员、方法名统一采用驼峰命名(lowerCamelCase),做到见语知其义例子:变量——用户数据(userList)、方法——getUserData(int type)等。
说明:正常变量定义使用驼峰命名,特殊的如DTO\VO\DO等除外。
2、类名的定义(1)普通类名采用大写字母开始;(2)抽象类采用Abstract或Base开头。
例子:普通类——class UserModel,抽象类——abstract class AbstractUserDefinition等。
3、常量、类型、接口、子类的定义(1)常量使用全大写且单词之间用"_“隔开; (2)boolean变量不能使用is开头;(3)接口尽量不要修饰符、子类紧跟接口追加Impl。
例子:常量——SORT_TYPE,布尔类型——flag,接口——UserService,实现类——UserServiceImpl等。
说明:常量不可组装,需要原子性定义,不能出现"KEY”+SORT_TYPE 这种内部出现。
4、包名、异常、枚举、方法名称的定义(1)包名一律采用小写; (2)异常都采用_Exception结尾; (3)枚举都是以Enum结尾;(4)方法名称——根据方法内容采用如插入insert-*。
例子:异常——UserException,包名——com.test,枚举——UserEnum,方法名称——insertUser等。
5、领域模型定义规范:主要是以VO\DTO\DO等结尾例子:用户数据——UserDTO等(1)数据对象:xxxDO,xxx 即为数据表名。
(2)数据传输对象:xxxDTO,xxx为业务领域相关的名称。
(3)展示对象:xxxVO,xxx一般为网页名称。
(4)POJO是DO/DTO/BO/VO的统称,禁止命名成xxxPOJO。
(二)代码格式规范1、括号代码要求左大括号前不换行、左大括号后换行、右大括号前换行、右大括号后还有else等代码则不换行;表示终止的右大括号后必须换行。
Java开发规范信息技术中⼼IT应⽤开发技术规范Java开发规范版权说明本⽂件中包含的任何⽂字叙述、⽂档格式、插图、照⽚、⽅法、过程等内容,除另有特别注明,版权均属太平洋保险所有。
未经许可任何⼈不得将此⽂件中的任何部分以任何形式进⾏复制,储存和传播。
版本记录⽬录1.概述 (1)1.1.⽂档⽬的 (1)1.2.适⽤范围 (1)1.3.⽂档说明 (1)1.4.术语定义 (1)2.技术选型规范 (1)2.1.开发⼯具指南 (2)2.2.J AVA标准 (2)2.3.源代码管理⼯具 (2)2.4.依赖管理⼯具 (2)2.5.第三⽅组件选型 (2)3.总体技术规范 (2)3.1.原则 (2)3.1.1.程序对象重⽤原则 (2)3.1.2.依赖解除原则 (3)3.1.3.常量使⽤原则 (3)3.1.4.第三⽅代码使⽤原则 (3)3.1.5.⾃动代码检查原则 (4)3.1.6.⾃动单元测试原则 (4)3.1.7.⽇志处理原则 (4)3.2.规范 (6)3.2.1.应⽤分层规范 (6)3.2.2.编码字符集规范 (7)3.2.3.项⽬⼯程规范 (7)3.2.4.代码⽬录结构规范 (8)3.2.5.对象命名规范 (9)3.2.6.代码注释规范 (10)3.3.指南 (12)3.3.1.java代码指南 (12)3.3.2.HTML/JAVASCRIPT代码指南 (18)4.展现层技术规范 (19)4.1.原则 (19)4.1.1.事物⼀致性原则 (19)4.1.2.浏览器⽀持原则 (19)4.1.3.插件使⽤原则 (19)4.1.4.信息提⽰原则 (20)5.业务层技术规范 (20)5.1.原则 (20)5.1.1.数据访问分离原则 (20)5.1.2.配置信息分离原则 (20)5.2.规范 (21)5.2.1.业务逻辑层设计规范 (21)5.2.2.编码规范 (21)5.2.3.业务规则与⼯作流规范 (22)6.数据层开发规范 (23)6.1.原则 (23)6.1.1.ORM框架使⽤原则 (23)6.1.2.复杂SQL使⽤原则 (23)6.1.3.存储过程与触发器使⽤原则 (24)6.1.4.数据量控制原则 (24)6.1.5.绑定变量使⽤原则 (25)6.2.规范 (25)6.2.1.DAO层使⽤规范 (25)4.1.1.DAO类注⼊配置规范 (25)4.1.2.实体类代码实现规范 (26)1.概述1.1.⽂档⽬的《中国太平洋保险股份有限公司IT应⽤开发技术规范》(以下简称太保IT开发规范)定义了IT应⽤项⽬开发时应遵循的技术指南,作为各项⽬组的开发指导性指南和代码审查的依据。
开发规范文档一、引言开发规范文档是为了规范开发人员在软件开发过程中的行为和规范,以确保软件开发的高效性和质量。
本文档旨在对开发规范进行详细说明,以便开发人员在日常工作中遵循。
二、命名规范1. 变量命名:变量名应具有描述性,能清晰表达其用途,采用驼峰命名法。
2. 函数命名:函数名应具有描述性,能清晰表达其功能,采用驼峰命名法。
3. 类命名:类名应具有描述性,能清晰表达其用途,采用驼峰命名法。
4. 文件命名:文件名应具有描述性,能清晰表达其内容,采用小写字母和下划线组合命名。
三、代码规范1. 缩进和空格:采用4个空格进行缩进,禁止使用Tab键。
2. 注释规范:代码中应有清晰的注释,注释应该对代码的功能、用途进行解释。
3. 异常处理:对可能出现的异常情况进行处理,避免程序崩溃。
4. 代码复用:尽量避免重复编写相同功能的代码,提取公共部分进行封装和复用。
四、数据库规范1. 表设计规范:数据库表应该具有清晰的结构设计,避免冗余和不必要的字段。
2. 索引规范:对经常用于查询的字段添加索引,提高数据库查询效率。
3. 数据备份规范:定期对数据库进行备份,以防数据丢失或损坏。
五、安全规范1. 数据加密:对用户的敏感信息进行加密存储,确保数据安全。
2. 权限控制:对不同角色的用户进行权限控制,确保用户只能访问其权限范围内的数据和功能。
3. 防止SQL注入:对用户输入的数据进行过滤和检验,避免SQL注入攻击。
六、测试规范1. 单元测试:对每个模块进行单元测试,确保模块功能的正确性。
2. 集成测试:对整个系统进行集成测试,确保各模块之间的协作正常。
3. 性能测试:对系统进行性能测试,确保系统在高并发情况下的稳定性和性能。
七、版本控制规范1. 版本命名规范:版本号应该具有一定的规范,能够清晰表达版本的变化和更新内容。
2. 分支管理规范:对不同的功能和模块进行分支管理,确保开发过程的清晰和有序。
八、总结开发规范文档对于软件开发团队的工作至关重要,遵循规范能够提高开发效率和质量,减少不必要的错误和问题。
开发规范与要求范文开发规范是一系列的编码原则、技术规范、文档规范等的集合,旨在确保团队开发的代码质量、可读性、可维护性、可扩展性,并提高团队合作效率。
本文将介绍开发规范的要求以及其对项目开发的重要性。
一、命名规范1.变量、函数、方法的命名应具有清晰的表达意义,使用有意义的英文单词或单词的组合。
2.类名、接口名应使用名词或名词词组,并使用大写开头的驼峰命名法。
3.常量名应使用大写字母加下划线的形式,如:MAX_COUNT。
4.避免使用容易混淆的命名,如:i1,l1,O0等。
二、缩进与排版规范1. 使用合适的缩进风格,如四个空格或一个Tab,统一团队内部的缩进风格。
2.代码块的开始和结束要与其对应的可见的包含结构对齐。
3.行宽应控制在80-120个字符之间。
三、代码注释规范1.对于代码中的每个模块或功能,必须提供必要的注释说明。
2.注释应简明扼要、准确清晰,解释代码的关键逻辑以及设计思想。
3.注释应使用英文书写,并遵循一定的规范,如在注释前使用特定的修饰符以区分说明的对象。
四、代码规范1.遵循单一职责原则,每个函数、方法只负责一个功能,尽量避免一个函数或方法实现多种功能。
2.遵循开闭原则,尽量使用扩展而非修改已有的代码。
3.避免使用变量的魔法数值,应提取为常量或配置项。
4.代码尽量简单清晰,可读性强,避免冗余的代码和复杂的逻辑结构。
五、测试规范1.编写单元测试代码,保证代码的正确性和稳定性。
2.合理组织测试用例,覆盖代码的各种情况,包括正常情况和异常情况。
3.定期运行测试用例,及时发现和解决问题,确保程序的健壮性。
六、文档规范1.编写开发文档和用户文档,清晰描述程序的设计思路、开发流程、代码的使用方法等。
2.文档内容应准确、详尽,方便其他开发人员和用户了解项目的细节。
开发规范对于项目开发具有重要的作用:1. 提高代码质量和可维护性:规范的代码易于阅读和理解,减少错误和bug的产生,提高代码的可维护性和可读性。
第1章引言今天的企业需要扩大自己的影响, 缩减自己的成本, 并且提高自己与客户,雇员,供货商之间沟通的效率。
通常, 提供这类服务的应用程序必须结合现存的企业信息系统(EIS),具备新的业务功能为更广泛的用户群提供服务。
这些服务要求具有:•高可用性, 以满足今天商业全球化的需求•安全性, 以保护用户的隐私和维护企业的安全•可靠性和可伸缩性, 以确保业务被准确及时地处理大多数情况下,企业服务由多层应用程序实现。
中间层整合了现存的EIS,具备新服务的业务功能和数据。
成熟的Web技术用来提供用户层服务,简化业务访问的复杂性,并且消除或大大减少对用户的管理和培训。
Java TM平台企业版(Java TM EE) 降低了开发多层次企业级服务的成本和复杂性。
Java EE 应用程序可以快速地部署和强化,使企业轻松地应对竞争压力。
Java EE方案可以实现上述目标,这需要定义一个标准的架构,以下是其组成元素:•Java EE平台 - 一个托管Java EE应用程序的标准平台。
•Java EE兼容性测试套件 - 兼容性测试套件用于检验Java EE平台产品是否符合Java EE平台标准。
•Java EE可参考的实现- 一个可参考的实现是一个Java EE 应用程序原型,提供一套可行的Java EE平台定义。
•Java EE蓝图 - 一套开发多层次瘦客户端服务的最佳实践。
本文档描述了Java EE平台规范。
它定义了一个Java EE平台产品必须达到的标准。
1.1 感谢本规范是多人协作的成果。
Vlada Matena撰写了第一个草案以及事务管理和命名的章节。
Sekhar Vajjhala, Kevin Osborn,和Ron Monzillo撰写了安全的章节。
Hans Hrasna撰写了应用程序组装和部署的章节。
Seth White撰写了JDBC API 标准。
Jim Inscore, Eric Jendrock,和Beth Stearns提供了编辑上的帮助。
技术规范书
1. 引言
技术规范书是为了明确软件或系统开发过程中的技术规范而编写的。
本文档旨
在提供必要的技术规范指导,以确保项目开发的高效性、可靠性和可维护性。
本文档的受众对象是项目开发人员、测试人员和相关技术人员。
2. 开发工具和环境
2.1 开发工具
•开发语言:本项目使用Java语言进行开发。
•集成开发环境(IDE):推荐使用Eclipse或IntelliJ IDEA。
•版本控制工具:本项目使用Git作为版本控制工具。
2.2 开发环境
•操作系统:本项目兼容Windows、Linux 和macOS 等主要操作系统。
•Java开发环境:要求使用JDK 1.8及以上版本。
•其他依赖:项目所需的第三方库和框架需使用Maven进行统一管理。
3. 编码规范
在本项目中,我们遵循以下编码规范: - 使用驼峰命名法(camelCase)命名变量、方法和类。
变量名应具有描述性,尽量避免使用缩写和简短的命名。
- 每个Java源文件只定义一个类,类名和文件名应保持一致。
接口名称应以。
java开发规范文档
以下是一个简单的Java开发规范文档:
1. 命名规范:
- 类名使用首字母大写的驼峰命名法,如:MyClass
- 方法名以小写字母开头的驼峰命名法,如:myMethod
- 变量名使用小写字母开头的驼峰命名法,如:myVariable - 常量名使用全大写字母和下划线的命名法,如:
MY_CONSTANT
2. 缩进和格式:
- 使用4个空格进行缩进
- 在每一行结束后使用分号
- 在大括号的前面留空格,如:if (condition) {
- 在逗号后面留空格,如:int a, b, c;
3. 注释规范:
- 使用JavaDoc格式注释解释类、方法和变量的功能和用法 - 在代码中适当添加注释,解释代码的实现逻辑
4. 异常处理:
- 使用try-catch-finally语句块来处理异常
- 不要使用空的catch块,尽量提供明确的异常处理逻辑
5. 最佳实践:
- 使用面向对象的思想设计代码结构
- 避免使用全局变量,尽量使用局部变量和参数传递数据
- 不要在循环中创建对象,尽量在循环外部创建对象
- 使用合适的数据结构和算法来提高性能
这只是一个简单的Java开发规范文档,实际中可以根据团队的需求和项目的特点进行适当的修改和补充。
JAVA技术架构及开发规范文档一、概述二、技术架构1.三层架构基于业务功能的划分,将系统划分为表示层、业务逻辑层和数据持久层。
这样可以实现业务逻辑与表示层、数据持久层的解耦,提高代码的复用性和可维护性。
2.MVC模式使用MVC(Model-View-Controller)模式进行开发,将系统分为模型层、视图层和控制层,使各层之间的职责分明,提高代码的可维护性和可测试性。
3.面向对象设计原则遵循SOLID原则,尽量使用面向对象的设计和编程,其中包括单一职责原则、开闭原则、里式替换原则、接口隔离原则和依赖反转原则等。
三、开发规范1.命名规范采用驼峰命名法,变量名、方法名、类名等均应具有描述性,避免使用拼音或缩写。
2.代码风格代码应该具有良好的缩进和格式,增加代码的可读性。
要求适当添加注释,注释应说明代码的目的和使用注意事项。
3.异常处理合理处理异常,避免直接抛出异常,而是进行捕获和处理。
对于特定的业务异常,可以定义自定义异常类,并进行抛出。
4.注释规范需要对代码进行充分的注释,注释的风格应明确,注释应配合代码,解释代码的用途和作用。
5.单元测试开发过程中应进行单元测试,确保代码的正确性。
对于每个功能模块,编写相应的单元测试用例进行测试,覆盖率应尽量达到100%。
6.安全性对于涉及到的用户输入数据和敏感数据,应进行有效的验证和过滤,防止恶意注入和跨站脚本攻击等安全威胁。
7.日志规范所有的关键操作和错误信息都应记录到日志中,日志级别应根据实际需要进行配置。
8.数据库规范数据库表设计应符合第三范式,避免数据冗余和数据不一致。
使用参数化查询和预编译语句,提高数据库查询性能和安全性。
9.版本管理使用版本管理工具(如Git)进行代码管理,每个开发人员都应具备良好的版本管理和协同开发能力。
四、总结本文档主要介绍了JAVA技术架构及开发规范。
通过采用三层架构和MVC模式,可以实现代码的复用性和可维护性。
同时,遵循JAVA的面向对象设计原则,提高代码的可测试性和可扩展性。
开发规范文档1. 引言。
开发规范文档是为了规范团队成员在开发过程中的行为和规范,以提高开发效率、降低错误率、提高代码可维护性和可读性而制定的。
本文档旨在为开发人员提供一套统一的规范,以便大家在开发过程中能够更加高效地协作,提高团队整体的开发水平。
2. 代码规范。
2.1 命名规范。
变量名、函数名、类名等命名应具有描述性,能够清晰地表达其用途。
变量名使用驼峰命名法,类名使用大驼峰命名法,常量名使用全大写下划线分隔。
禁止使用拼音或无意义的命名,以及使用中文命名。
2.2 缩进和空格。
使用4个空格作为一个缩进,禁止使用Tab键。
运算符两侧应有空格隔开,增强代码的可读性。
2.3 注释规范。
代码中应有必要的注释,注释应该清晰明了,能够帮助他人理解代码的用途和实现方式。
禁止使用无意义的注释,注释应该与代码同步更新。
3. 版本管理规范。
3.1 分支管理。
项目应该有主分支和开发分支,主分支用于发布稳定版本,开发分支用于开发新功能。
每个新功能应该在一个独立的分支上进行开发,开发完成后再合并到开发分支。
3.2 提交规范。
提交代码时应该写清楚本次提交的内容,禁止一次性提交大量无关的修改。
提交信息应该清晰明了,能够帮助他人理解本次提交的目的和内容。
4. 文档编写规范。
4.1 文档格式。
文档应该使用统一的格式进行编写,包括标题、目录、正文等部分。
文档中的图片应该清晰可见,禁止使用模糊不清的图片。
4.2 内容规范。
文档内容应该清晰明了,能够帮助读者快速理解文档的内容。
文档中的代码应该清晰可读,禁止使用混乱的代码示例。
5. 测试规范。
5.1 单元测试。
每个功能模块应该有对应的单元测试,保证功能的正确性和稳定性。
单元测试应该覆盖尽可能多的代码路径,以提高测试的覆盖率。
5.2 集成测试。
在开发完成后应该进行集成测试,保证不同模块之间的协作正常。
集成测试应该模拟真实的使用场景,以保证系统的稳定性和可靠性。
6. 总结。
开发规范文档是团队协作的重要工具,能够帮助团队成员更加高效地协作,提高团队整体的开发水平。
J2EE 开发规范文档目录附录: (3)一、命名约定 (4)1.源代码文件中的几个基本包 (4)2.所有包名均用小写字母来命名 (4)3.类中的变量应该使用骆驼命名法 (4)4.类中的方法命名同变量。
(4)5.S TRUTS的命名 (4)6.S TRUTS的跳转页JSP命名应与请求路径相同 (4)二、STRUTS使用以及类使用约定 (4)1.在整个STRUTS2 FAMEWORK中的一般流程如下: (4)2.关于PO(持久对象P ERSISTENT O BJECT) (5)3.所有ACTION类都应该继承MON.ACTION中的相关父B ASE A CTION类 (5)4.A CTION主要负责控制器任务 (5)5.关于不同子模块调用同一个A CTION的情况 (6)6.关于S TRUTS的FORWARD配置 (6)7.方法类中的参数设定 (6)三、自定义异常类使用约定 (6)1.必须继承COM.GOLDPALM.TOUR.EXCEPTION.G OLDPALM E XCEPTION 异常类 (6)2.必须重写默认构造方法以及带S TRING参数的构造方法 (6)3.默认构造方法必须有一个默认的异常抛出说明 (6)四、SPRING使用约定 (7)1.所有业务逻辑BEAN都配置在相关的APPLICATION C ONTEXT-SERVICE*.XML中 (7)2.所有STRUTS的ACTION都配置在相关的APPLICATION C ONTEXT-ACTION*.XML中 (7)3.所有持久层D AO都配置在APPLICATION C ONTEXT-DAO.XML中 (7)4.所有公共业务类都配置在APPLICATION C ONTEXT-COMMON.XML中 (7)5.事务声明使用A NNOTATION在相关实现类的方法名上配置,不应配置在接口内 (7)6.项目中事务管理必须写在业务逻辑层或者持久层中 (7)7.事务管理须使用S PRING的A NNOTATION来管理 (7)五、注释使用约定 (7)1.类中的开头注释 (7)2.XML中的注释 (8)3.P ROPERTY FILE中的注释 (8)4.JSP标签定义注释 (8)六、JSP页面约定 (9)1.\WEB-INF\JSP\COMMON下存放公共的JSP页面 (9)2.所有涉及业务操作的JSP页面均应存在\WEB-INF\JSP下的相应目录下 (9)3.JSP中使用的TAG定义规范 (9)4.必须使用XHMTL的DTD规范 (9)5.每个JSP都要有具体的TITLE值 (10)6.每个页面都应加入的META信息 (10)7.每个JSP的<BODY>上都必须加入该JSP的名称注释 (10)8.CSS统一管理 (10)9.JSP页面必须使用CONTEXT P ATH来控制URL根目录 (10)10.FORM的METHOD属性使用 (10)11.页面中的变量引用应尽量使用EL表达式和标签来表示 (10)12.下拉框开发的规范统一 (10)13.关于操作确认提示的规范 (11)七、JAVASCRIPT开发使用约定 (11)1.所有的J AVASCRIPT公共库都放在\COMMON\JS目录下 (11)2.所有表单验证方法都必须写在FORM的ONSUBMIT事件上 (11)3.必须熟悉COMMON.JS下的所有方法 (11)4.页面的ONLOAD方法应使用J Q UERY的$(FUNCTION(){...});替代 (11)5.熟悉J Q UERY的API (11)八、编码格式约定 (12)7.类的属性与属性,方法与方法之间都应空行隔开,以便阅读 (12)8.在方法名与其参数列表之前的左括号"("间不要有空格 (12)9.左大括号"{"位于声明语句同行的末尾 (12)10.右大括号"}"另起一行,与相应的声明语句对齐 (12)11.IF-ELSE语句应该具有如下格式 (12)12.所有JAVA/J AVA S CRIPT代码应以{}为单位层层缩进,以提高代码可读性 (12)九、包使用约定 (12).GOLDPALM.TOUR.ACTION; (12).GOLDPALM.TOUR.BEAN; (12)MON; (12).GOLDPALM.TOUR.DAO; (12).GOLDPALM.TOUR.DWR; (13).GOLDPALM.TOUR.EXCEPTION; (13).GOLDPALM.TOUR.INTERCEPTOR; (13).GOLDPALM.TOUR.JSP; (13).GOLDPALM.TOUR.RESOURCE; (13).GOLDPALM.TOUR.SERVICE; (13).GOLDPALM.TOUR.TEST; (13).GOLDPALM.TOUR.WS; (13)十、DAO以及持久层使用约定 (13)1.所有D AO都应继承COM.GOLDPALM.TOUR.HIBERNATE.B ASE D AO S UPPORT类 (13)2.必须熟知B ASE D AO S UPPORT中的所有PROTECTED方法及其使用方法 (13)3.数据层D AO方法命名约定 (13)4.防止SQL注入的安全性问题 (13)1)使用预编译PrePareStatement的方式提交语句 (13)5.所有的数据库查询操作语句都应使用拼接方式来组合查询 (14)十一、关于版本控制使用的约定 (15)1.提交遇到红色版本冲突时的操作 (15)2.完整提交代码 (15)3.非必要性不允许上传的文件 (15)附录:一、命名约定1.源代码文件中的几个基本包1)com.goldpalm.tour.action;2)com.goldpalm.tour.bean;3)mon;4)com.goldpalm.tour.dao;5)com.goldpalm.tour.dwr;6)com.goldpalm.tour.exception;7)com.goldpalm.tour.hibernate;8)com.goldpalm.tour.interceptor;9)com.goldpalm.tour.jsp;10)com.goldpalm.tour.resource11)com.goldpalm.tour.service;12)com.goldpalm.tour.test;13)com.goldpalm.tour.ws;2.所有包名均用小写字母来命名包中的class均使用帕斯卡命名法每一个单词的第一个字母都大写。
类名应该尽量简单并且是描述性的,不应该使用缩写,除非该缩写使用非常广泛,例如URL、HTML、ID。
一般按照动宾结构来命名,例如:AssociateForm.java, PrintHTML.java(缩写单词需全部大写,以区别于非缩写单词), AssociateDao.java, Associate.java, UserSession.java3.类中的变量应该使用骆驼命名法(注:JavaBean的属性尽量全部小写,这是为了方便在jsp中使用EL的时候不需要考虑大小写的问题)4.类中的方法命名同变量。
5.Struts的命名1)Action类命名必须是以Action结尾的命名方式Action的path命名应取类名中不包含结尾Action的部分如:StateOptionsAction的访问路径为stateOptions6.Struts的跳转页JSP命名应与请求路径相同例:访问/memberAdd.action时,跳转页JSP的命名应为memberAdd.jsp二、Struts使用以及类使用约定1.在整个struts2 famework中的一般流程如下:2.关于PO(持久对象Persistent Object)凡是基本类型的属性都必须使用相关的包装类来声明并且全部都要实现序列化接口例如:private int id → private Integer idprivate double money → private Double money3.所有action类都应该继承mon.action中的相关父BaseAction类1)mon.action.BaseAction4.Action主要负责控制器任务判断在什么情况下调用哪个business logic。
并且负责页面的条件转发。
除条件判断和页面转发的商务逻辑放在Service中。
直接存取数据库的动作放在Data Access Object 中。
另为了统一规范以及方便权限参数控制,添加一下Action使用规范:一个Action请求方法中只允许使用一个参数名来作为判断操作行为的参数。
绝不允许一个Action使用一个以上的参数来判断多种操作行为。
例如:XlAction中使用doType=1执行查询列表,doType=2执行记录更新,doType=3执行记录删除,那么这个Action就不允许再使用别的参数来判断行为条件,只能使用doType来判断他所有的操作行为。
5.关于不同子模块调用同一个Action的情况此时,不同模块不得共享同一个配置,必须为相关子模块单独配置path,以免URI泻露。
6.关于Struts的forward配置该配置中,post表单的提交结果页跳转必须使用重定向redirect(redirectAction),不得使用默认的forward配置,以免用户刷新页面导致表单重复提交出错。
例如:1.用户从列表中删除一条记录后,重新跳转回列表页,此时必须使用重定向跳转到列表页,以免用户刷新后重复提交删除操作导致异常。
2.用户登录后跳转到首页,应该使用重定向,以免用户刷新后,重复提交登陆表单,导致提交失效验证码而产生异常。
7.方法类中的参数设定在定义方法参数时,除非参数本身需要用到数组或者集合类型,否则不允许将多个参数合并至一个数组或集合传递,且必须分开并注释每个参数的用意。
三、自定义异常类使用约定1.必须继承com.goldpalm.tour.exception.GoldpalmException 异常类2.必须重写默认构造方法以及带String参数的构造方法3.默认构造方法必须有一个默认的异常抛出说明当自定义异常的默认异常说明不能满足当前异常的条件是,必须使用带String的构造方法说明该异常例:package com.goldpalm.tour.exception;/*** 支付异常类*/public class PayOrderException extends GoldpalmException {private static final long serialVersionUID = -2727607219533766025L;public PayOrderException(String message){super(message);}public PayOrderException(){super("支付出错!");}}使用时如下:1)throw new PayOrderException();2)throw new PayOrderException("支付订单丢失!请拨打热线咨询!");四、spring使用约定1.所有业务逻辑bean都配置在相关的applicationContext-service*.xml中2.所有struts的action都配置在相关的applicationContext-action*.xml中3.所有持久层Dao都配置在applicationContext-dao.xml中4.所有公共业务类都配置在applicationContext-common.xml中如DWR,Mail Service等5.事务声明使用Annotation在相关实现类的方法名上配置,不应配置在接口内6.项目中事务管理必须写在业务逻辑层或者持久层中7.事务管理须使用Spring的Annotation来管理五、注释使用约定1.类中的开头注释类似如下:/*** Form bean for a Struts application.* Users may access 5 fields on this form:* @author tom*/在类中的方法注释,类似如下:(1)/*** Get AssociateID* @return String* @author tom*/(2)/*** Set AssociateID* @param <code>String</code>* @author tom*/(3)/**get associate info from Table AssociateInfo for searching in Module Query * @param SearchAssociateForm* @return Collection* @author tom*/public Collection getAssociateInfo(SearchAssociateForm form) {}(4)注释所有的调试代码,类似://System.out.println("errors....");或/*System.out.println("errors....");*/不要采用/** System.out.println("errors....");*/2.XML中的注释类似如下:<!—about what business by author-->3.Property file中的注释类似:#about what by author4.JSP标签定义注释如下:<!-- HTML字符串处理过滤器,WebFilter类的标签形式 --><tag><name>filter</name><tag-class>com.goldpalm.tour.jsp.tag.WebFilterTag</tag-class><description>HTML字符串处理过滤器,WebFilter类的标签形式</description> <attribute><name>str</name><required>true</required><rtexprvalue>true</rtexprvalue><description><![CDATA[<b>String:</b>需要处理的字符串*]]></description></attribute><attribute><name>type</name><required>false</required><rtexprvalue>true</rtexprvalue><description><![CDATA[<b>String:</b>需要过滤的方式<ul><li>html:转换为HTML编码(默认)<li>link:将带有[a]的内容转换为超链接代码<li>cut :字符串截断<li>form:转换为适合表单使用的HTML编码</ul>]]></description></attribute><attribute><name>length</name><required>false</required><rtexprvalue>true</rtexprvalue><description><![CDATA[<b>int:</b>字符串截断长度,type为cut时必须的参数]]></description></attribute></tag>如图:六、JSP页面约定1.\WEB-INF\jsp\common下存放公共的jsp页面1)若页面中需要使用标签,应该include其中的taglibs.jsp页面。