




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
自定义java开发规范关键字: 自定义java开发规范 2 设计规范2.1 系统设计规范当有需求 变化的时候,开发经理必须遵守一个顺序,第一先修改概要设计、设计设计,数据库设计等接着再修改代码的原则;对于每一 次修改,都必须编写changelog;系统的设 计文件需要放到版本控制文件当中,以便对不同的版本进行控制;2.2 数据库设计规范数据库的 设计必须放到PowerDesinger的Repository当中;每一个项 目只有系统架构师,开发经理有权限去修改物理数据模型,其他人只有只读取权;按数据库 脚本的命名规范编写数据库脚本与初始化数据脚本;数据库的 设计只能由系统架构师,开发经理或由开发经理指定的高级工程师进行修改;需求变更 需要修改到数据库的时候,必须先修改物理数据模型,再到数据库修改;任何人没 有经过系统架构师或开发经理的授权,不得私自修改数据库;对修改内 容需要修改changelog,并编写修改数据库的脚本;修改数据 库的脚本需要在测试机上做过测试,并提供项目部经理;3 文件命名规范3.1 页面文件命名规范页面文件 的命名是由小写英文字码,下划线,数字组成;user_list.html;index.jsp;index_cn.jsp;503.jsp等;页面文件 最好以英文单词组成,以便提高文件的可读性;例如:permission_list.jsp对于一个 模块的操作页面,以模块名 + 下 划线 + 动词组成,例如:permission_list.jsp对于有些 模块使用英文单词命名比较麻烦的,在不得已的情况下,可以使用拼音的简写来进行命名,但是,必须在页面文件的最前面加上注释,注释以下所示:其中 %-的下一行或多行为页面作用描述,version 后跟日期,以日期作为版 本author 公司帐号 XXXXXXX公司/信息化应用中心/所在部门3.2 Java文件命名规范 Java类文件的命名不要超过32个字字符;Java文件的命名规范按照Sun公司的标准进行命名;取消Java文件以下划线进行分隔的命名方式;取消命名 当中出现的Map这些命名方式;3.2.1 Action类的命名规范 Action类是以英文单词组成;由模块名 + 其它标试 + Action构成;同一个模 块的Action类CRUD操作放在同一个Action类当中;比如UserAction;GroupAction;对于一个 模块的非CRUD操作,由系统架构师或开发经理根据命名规范决定重新定义一个有意 义的Action;比如:UserSearchAction;不要在类 文件当中加上下划线;一个Action类文件不要超过500行代码;3.2.2 Service层的命名规范 Service层命名规范将由接口与实现构成;Service层接口的命名由I + 模块名 + Service构成,例如:IUserService.java;Service层实现的命名由模块名 + ServiceImpl构 成,例如:UserServiceImpl.javaDAO层方法的命名:以 操作动词 + ValueObject名创建前 缀:create,比如:createUser(User user);修改前 缀:update,比如:updateUser(User user);删除前 缀:delete,比如:deleteUser(User user);列出前 缀:list,比如:listUsers();通过UUID查找实体前缀:find + 实体名 + ById,比如:findUserById(String userId);查询:search,比如:searchUsers(Map searchKey);统计:count,比如:countUsers();3.2.3 DAO层的命名规范 DAO层命名规范将由接口与实现构成;DAO层接口的命名由I + 模块名 + DAO构成,例如:IUserDAO;DAO层实现的命名方式需要结构持久层的实现方式,比如,Hibernate的应用的话其命名由:模块名 + DAO + Hibernate构成,例如:UserDAOHibernate;如实持久实现是由JDO方式实现,则命名由:模块名 + DAO + JDO构 成,例如:UserDAOJDO;所有CRUD在接口当中都必须定义,方法体调用父对象的操作实现;DAO层方法的命名:以 操作动词 + ValueObject名创建前 缀:create,比如:createUser(User user);修改前 缀:update,比如:updateUser(User user);删除前 缀:delete,比如:updateUser(User user);列出前 缀:list,比如:deleteUsers();通过UUID查找实体前缀:find + 实体名 + ById,比如:findUserById(String userId);查询:search,比如:searchUsers(Map searchKey);统计:count,比如:countUsers();3.2.4 Pojo类的命名规范 Pojo类的类名必须与html文件的文件名对应,比如,Pojo的类名为User,则hbm映射文件的命名为User.hbm.xml;Pojo类的类名需要与命名规范相对应,比如,表名为ITSM_ CONFIGURATION_ITEM(itsm项目的配置项表),相对应的Pojo类名应该为ConfigurationItem.java,hbm映射文件的命名为:ConfigurationItem.hbm.xml;3.2.5 Helper类的命名规范 帮助类的 命名是由名词 + 名词 + Helper构成;如Spring的帮助类命名为SpringHelper.java;所有帮助类的每一个public方法,都必须加上简单的使用sample;3.2.6 Servlet类的命名规范 Servlet的命名由名词 + 动词 + 名词 + Servlet构成;比如Struts的ActionServlet.javaListener的命名由名词 + 动词 + 名词 + Listener构成;比如:CommonSessionListener.javaFilter的命名由名词 + 动词 + 名词 + Filter构成;比如Spring的CharacterEncodingFilter.java;3.2.7 EJB类的命名规范 Ejb的命名最终是以Bean结尾;Ejb的接口文件存放在Ejb同级目录的interface当中;使用Ejb必须提供相应的Xdolect脚本;布署描述 符存放在src下面;3.2.8 基础类的命名规范基础类的 命名以Base + 名词 + 动词 + 名词构成;例如:BaseAction.java;BaseService;基础数只 能为abstract;或interface;3.3 Java Package的命名及层次结构规范 包的命名 必须有意义;包名必须以com.gdcn开头;mon包存放着所有各个项目所共用的文件;项目组开发人员不得修改;项目组开 发出更加通用的组件,通知部门经理或系统架构师,经开发讨论后,将新的构件加入到common包当中;包名的命 名大致如下:mon存放着项目级别的通用类;jectname.web存放着与web相关的类文件;jectname.web.action存放着struts的action文件;jectname.web.taglib存放着所有的标签文件;jectname.web.servlet存放着所有的servlet;jectname.valueobject存放着所有pojo;jectname.service存放着项目所有service层的接口;jectname.service.impl存放着项目service层的所有实现;jectname.dao存放着项目dao层的所有接口;jectname.dao.impl存放着项目dao层的所有接口;jectname.webservice下面存放着webservice的实现与接口;对于大项 目,允许将jectname.web.action下面再进行模块的区分;对于大项 目,允许将jectname.service下面再按模块进行区分;对于大项 目,允许将jectname.dao下面再按模块进行区分;3.4 导入包的顺序在应用程 序当中导入的包的顺序是做如下定义:javajavaxorgnetcom可以使用 格式化工具进行代码的格式化;3.5 自定义标签命名规范标签的名 名以前缀 + 下划线 + 后缀的方式进行命名;比如,通用标签的前缀以gdcn命名,后缀以tree命名;项目级别 的标签以项目名称 + 下划线 + 标签名称进行命名:标签称只 允许由小写英文字母 + 下线划 + 数字组成;3.6 属性配置文件的命名规范属性配置 的命名只允许小写英文字母 和 下划线组成;属性配置 文件只允许是property文件或者是xml文件;属性文件 存放在工程目录的etc下面3.7 数据库脚本的命名规范建表文件 以项目名称 + 下划线 + setup构成,例如:itsm_setup.sql;初始化脚 本文件以项目名称 + 下划线 + init构成,例如:itsm_init.sql;修改数据 脚本文件以项目名称 + 下划线 + modify + 修改时间构成,例如:itsm_modify_2006-8-19.sql构成;数据库脚 本文件必须存放到cvs或SVN当中做版本控制;4 编码规范4.1 Java类的注释规范 每一个类 都必须有较为详细的注释;注释内容 包括:类文件说明、创建者、创建时间、修改者、修改时间、其它信息:比如:/* CommonServletContextListener,该监听器的作用是在web app启动的时候* 将ServletContext绑定到SpringHelper当中,以更加方便地获取到上下文信息.* author XXX,信息化产品部-研发中心-XXXXXXX有限公司. Create-Time 2006-8-1 11:42.* see ServletContextListener* see SpringHelper*/4.2 Java方法的注释规范 每一个方 法都需要有注释,对于通用类提供的方法,除了有详细的注释除外,还必须有一些简单的sample;每一个参 数都必须做一下说明;每一个返 回值都必须做一下说明;每一个异 常都必须做一下说明; /* * parse Web Security Settings * param ele Element * return WebSecuritySettings * throws ConfigException */static WebSecuritySettings parseWebSecuritySettings(Element ele) throws ConfigException 方法体里 面重要的算法需要加上详细注释;4.3 Java类属性的注释规范 对于类属 性必须加上注释;通用的POJO类的属性注释必须有详细的注释;项目级别 的POJO类的属性注释由开发经理根据项目的紧急程度自己做控制;4.4 Java层次结构的规范 Jsp页面只负责页面的展现,理论上不允许任何业务逻辑代码存放在jsp文件当中;Action层负责处理页面的请求信息,并将ActionForm转换为pojo,或将pojo转换为ActionForm;ActionForm不能达到Service层;Pojo不能达到Jsp层;列表对象必须在Action当中做封装;不允许在Action层抛出ServiceException;Action层只允许抛出ParameterException异常;业务层负 责业务信息的处理,并调用业务层的对象;业务层抛 出ServiceException;不允许在 业务层操作Hibernate Session;不允许在 业务层传递SQL或HQL到DAO层;DAO层负责数据库的操作;DAO层抛出DAOException;4.5 WEB目录存储规范 在WEB目录下面:images存放着所有的图片文件,该目录可以按照模块,按照组件名进行细 化;stylesheet存放着所有的样式文件;javascript存放着所有的脚本文件;WEB-INF/lib存放所有的jar文件;WEB-INF/struts存放所有的struts文件;WEB-INF/spring存放所有的sprin
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 3.2 算法描述与设计-物资购买 教学设计 2023-2024学年粤教版(2019)高中信息技术必修1
- 广东省廉江市实验学校高中政治 3.2 树立正确的消费观1说课稿(必修1)
- 冠状病毒考试题及答案
- 工业设备考试题及答案
- 高血压知识考试题及答案
- 防疫员技能考试题及答案
- 精益管理理念在工程项目中的实践与优化
- 会计基础试题大题及答案
- 变压器及配电室建设项目社会稳定风险评估报告
- 城市旧供水管网改造工程技术方案
- 中医适宜技术-中药热奄包
- 关于成立低空经济公司可行性分析报告
- 2024年第九届“学宪法、讲宪法”竞赛题库试卷及答案
- 配电室运行维护投标方案
- 血管导管使用指征、置管方法、使用与维护
- 工程项目挂靠协议书
- QB/T 2660-2024 化妆水(正式版)
- 围手术期病人管理
- 垃圾中转站运营管理项目整体服务方案
- 血常规报告单
- 电路检查记录表
评论
0/150
提交评论