JavaWeb开发规范


以下的建议将帮助你更有效地使用本文所描述的 Java 编程标准:


*******************************************************


当你写代码时就应该遵守标准,而不应是一个事后的想法。
加了注释的代码不仅在你写程序时,而且在你写完程序时,都更容易理解。
在程序开发阶段和维护阶段,一致性地命名成员函数和字段都使工作更加容易。
在开发和维护阶段,整洁的代码让工作更加容易。
概括起来说,遵守标准将提高你开发过程中的生产率,并且使你的代码更易维护(因此也使维护者的生产率提高了)。
如果从一开始你就写出整洁的代码,你将在撰写过程中受益。使它们成为你的质量保证的过程。代码检查的一部分应该是确保源码遵守你的机构所采用的标准。
将标准作为你训练和指导开发员更有效率的基础。
常量要么放在.properties属性文件或者接口和抽象类中。


*******************************************************(服务平台)
目录结构
src
       ------jdbc_mysql.properties                      数据库连接配置
       ------log4j.properties                    日志组件配置
       ------applcationContent.xml            负责引用服务端所有 Spring 配置文件路径
       ------struts.xml                                 负责处理action
    -----com.accp.class20.模块名 
                        
                                       -------config
 
                                                 ----spring
                                                 ----struts

                                       -------model

                                       -------dao

                                       -------service

                                       -------hessian(对内)

                                       -------webservice(对外跨平台,看情况开发)
                                    
                                       -------web

                                              -------intercepor

                                              -------listener

                                              -------filter
                                       
                                              -------action


                         ------core 
                                   ---------dao
                                   ---------service
                                   ---------action
                                   ---------util
                                   -------intercepor
                                   -------listener
                                   -------filter


       ------com.accp.class20.模块名 (单元测试)
                                       

                                    ------测试实体类  


webroot
   ----- css

   -----js
   
   -----image
  
   -----WEB-INF
       
         ------pages
                  
                  ------模块名
                         
                             
                -----实体名
                     
                                   
                                       -----实体名_main.jsp

                                       -----实体名_add.jsp
                                      
                                       -----实体名_edit.jsp

                                       -----实体名_display.jsp

   -----index.jsp


***************************************************************

Spring
配置文件以spring-开头的自动加载,如:
  spring-user.xml
  spring-role.xml

struts
配置文件以struts-开头的自动加载,如:
 struts-user.xml
 struts-role.xml

********************************************************

命名规范

实体Entity 如UserEntity

持久层接口UserDao
持久层实现类UserDaoImpl

对外发布接口UserService
接口实现类UserServiceImpl

hessian接口UserHessain
hessian实现类UserHessainImpl

webservice接口 UserWs
webservice实现类UserWsImpl

********************************************************    
代码规范

一定要单元测试,打包发布时不要发布。


********************************************************


架构规范

dao层单独处理,service调用dao层,所有的业务处理放在service层,hessian调用service,hessian对外发布为服务,action调用hessian层。

********************************************************

POJO层
映射的实体对象。与数据库的表对应。
放到模块的model包下。


DVO层
映射的实体对象。与数据库的视图对应。
放到模块的dvo包下。

Dao层
逻辑服务处理对象,完成一个业务的逻辑处理功能
放到模块的dao包下
方法名必须以 create* , del* , update*, start*, cancel* , stop*, save* , add* ,remove* , saveOrUpdate*,createBatch*,deleteBatch*,updateBatch*,pay* 等匹配的才会是带事务的方法,否则不能进行增删改操作
查询方法必须以load*,loadBy*,findListBy*,findAllList*

Service层
逻辑服务处理对象,完成一个业务的逻辑处理功能
放到模块的service包下
方法名必须以 create* , del* , update*, start*, cancel* , stop*, save* , add* ,remove* , saveOrUpdate*,createBatch*,deleteBatch*,updateBatch*,pay* 等匹配的才会是带事务的方法,否则不能进行增删改操作
查询方法必须以load*,loadBy*,findListBy*,findAllList*
动宾结构形式的名称
两个单词之间不要带其它符号
方法命名不得采用缩写形式
方法命名的基本原则:容易看懂


Hessian层
逻辑服务处理对象,完成一个业务的逻辑处理功能
放到模块的hessain包下
方法名必须以 create* , del* , update*, start*, cancel* , stop*, save* , add* ,remove* , saveOrUpdate*,createBatch*,deleteBatch*,updateBatch*,pay* 等匹配的才会是带事务的方法,否则不能进行增删改操作
查询方法必须以load*,loadBy*,findListBy*,findAllList*
动宾结构形式的名称
两个单词之间不要带其它符号
方法命名不得采用缩写形式
方法命名的基本原则:容易看懂


Controller层
Controller类中的方法命名统一采用do*(执行操作)、go*(显示页面).在Action中不应该出现一个public的方法不是以go或do开头。
在不会引起混淆的情况下,Controller的method命名可不加模块名称这时,可如下命名更简便(具体如何视情况而定):
操作说明             方法名                    action的配置                jsp页面(或返回的Controller)
进入每个模块的主页:     goCodeRuleMain            codeRule_main.action        codeRule_main.jsp
进入高级查询页面:    goCodeRuleFind        codeRule_find.action        codeRule_find.jsp
进入新增页面:        goCodeRuleAdd        codeRule_add.action        codeRule_add.jsp
进入批量新增页面:    goCodeRuleAddBatch    codeRule_addBatch.action    codeRule_addBatch.jsp
进入修改页面:        goCodeRuleEdit        codeRule_edit.action        codeRule_edit.jsp
进入批量修改页面:    goCodeRuleEditBatch    codeRule_editBatch.action    codeRule_editBatch.jsp
进入浏览页面:        goCodeRuleDisplay    codeRule_display.action        codeRule_display.jsp
进入选择页面:        goCodeRuleSelect    codeRule_select.action        codeRule_select.jsp
执行新增操作:        doCodeRuleAdd        addCodeRule.action        codeRule_main.action
执行修改操作:        doCodeRuleEdit        editCodeRule.action        codeRule_main.action
执行删除操作:        doCodeRuleDel        delCodeRule.action        codeRule_main.action
执行批量操作:        doCodeRuleDelBatch    delCodeRuleBatch.action            codeRule_main.action

********************************************************

快捷键    ctrl + shift + F    进行排版, 代码为统一格式
    ctrl + shift + O    可以消除不使用的 import 类, 和添加需要引用的类
    ctrl + 1 (数字)        在有 warning 的地方, 出现解决方法, 如继承序列化接口的需要唯一序列码
    ctrl + 2, 然后按R     可以对文件中所有的使用该名称的地方进行改名

    
项目的编码为 UTF-8

********************************************************

jsp文件命名规则:
实体名_main.jsp
实体名_add.jsp
实体名_edit.jsp
实体名_display.jsp

CodeRule=实体名

********************************************************

posted @ 2019-12-24 11:56  我好高冷  阅读(498)  评论(0编辑  收藏  举报