项目开发中的几点轨范

项目开发中的几点规范
项目开发规范
1. 项目包结构
src — com — ars
—— mybatis
—— conf(spring、mybatis配置文件)
—— common(公用类)
—— 模块A
    —— entity(实体)
                                   —— services(业务逻辑)
                                   —— dao(数据层)
                                   —— mappers(数据库映射)
                                   —— common(该模块的公用类)
                          —— 模块B
—— action
—— conf(struts配置文件)
—— common(公用类)
—— 模块A(模块A的action)
                          —— 模块B(模块B的action)
webroot
—— common(公用页面)
—— 模块A(模块A的页面)
—— 模块B(模块B的页面)
—— css(公用CSS直接放在css目录下)
—— 模块A (模块A的CSS)
—— 模块B (模块B的CSS)
——  js(公用js直接放在js目录下)
—— 模块A (模块A的js)
—— 模块B (模块B的js)
——  images(公用图片直接放在images目录下)
—— 模块A (模块A的图片)
—— 模块B (模块B的图片)
2. 命名规范
2.1. action命名:
以大写字母开头,如果有多个单词,每个单词头字母大写,加上Action,如UserCrudAction.java
2.2. dao命名:
接口:以大写字母"I"开头,如果有多个单词,每个单词头字母大写,后面加上Dao,如:IUserDao.java
实现:将实现的接口名称的首字母"I"去掉,如:UserDao.java
2.3. service命名:
接口:以大写字母"I"开头,如果有多个单词,每个单词头字母大写,后面加上Service,如:IUserService.java
实现:将实现的接口名称的首字母"I"去掉,如:UserService.java
2.4. 实体Bean命名:
数据库名去掉前面的T,后面的首字母大写
例如:数据表名是T_AA_BB_CC_DD
则其对应的实体应该是:
AaBbCcDd.java
2.5. 数据库映射:
接口类:以大写字母"I"开头,如果有多个单词,每个单词头字母大写,后面加上Mapper,如IUserMapper.java
映射器:将实现的接口名称的首字母"I"去掉,如UserMapper.xml
2.6. 自定义类命名:
以大写字母开头,如果有多个单词,每个单词头字母大写,如
CheckPwd.java
2.7. 类变量命名:
变量名首字母必须小写,如果该变量名有多个单词组成,后面的单 词首字母大写,单词与单词之间不要使用"_"做连接,变量名访问控制必须为私有, 可以对其增加setter与getter方法。
例如:private int userName;
      public int getUserName()
      {
return userName;
      }

     public void setUserName(int userName)
     {
this. userName = userName;
  }

2.8. 常量命名:
  所有字母大写,如果有多个单词组成,单词与单词之间以” _“隔开。而且该变量必须是公共、静态、final类型
  例如:public static final String USER_NAME=“username”;

2.9. 方法命名
  首字母必须小写,如果该变量名有多个单词组成,后面的单词首字母  大写,单词与单词之间不要使用"_"做连接。单词不要使用名词。
例如:public int checkLogin(String name,String pwd){}
3. 注释要求
3.1. 类的注释:
3.1.1. 作用:注释整个类,简单概述该类作用。
3.1.2. 书写规范:类的注释必须写在该类的声明语法之前。在注释中要描述该类的基本作用,作者,日期,版本,公司名称,版权声明。
3.1.3. 格式:
/* *
* 类功能描述:(大致描述类的功能)
* @author:编写者名称
*
* @version: 类文件的版本号 从1.0开始(自己确定版本号的增改情况), 修改情况(修改时间、作者、改动情况)
*
* @see 包名.参考类名 (列出父类,引入类,每个类占一行),如果没有可省略
* 相关数据如:(便于理解本类的一些常量数据及某些数据的格式或认为比较重要的数据,如果没有可省略)
*/
类的声明语法
例如:
/**
* <p>Title:前台售车信息发布类 </p>
* <p>Description: 发布售车信息</p>
* <p>Copyright: Copyright (c) 2007</p>
* <p>Company:麦特网络科技</p>
*
* @author 李宁
*
* @version $Revision: 1.7 $ $Date: 2009/07/08$
*/
public class AddCarAction
3.2. 变量、常量注释:
3.2.1. 作用:简单描述该变量的意义。
3.2.2. 书写规范:变量注释必须写在变量定义之前,简单描述其代表的意义。
3.2.3. 格式:
/**
* 变量功能描述:(大致描述变量的功能)
*/
例如:
/**
*定义年龄变量
*/
public int age;
3.3. 方法注释:
3.3.1. 作用:对该方法功能简单描述,其参数、返回值意义的注解。
3.3.2. 书写规范:方法注释必须写在方法定义之前。该注释包括:方法其功能的简单描述,方法的参数、返回值类型、返回值意义简单的描述。
3.3.3. 格式:
/**
* 方法功能说明
* @param args (参数类型可以写在参数后,也可以省略。每个参数占一行)
* @return 输出参数(多种情况写在同一行)
* @see 引用该方法的类,每个类写一行
* @exception 异常处理类(方法中能够引发的异常,每个异常占一行)
*/
例如:
/**
* 查询某用户发布的车辆信息
* @param offset 起始编号
* @param limit查询信息数
* @param user_name用户名
* @return ArrayList符合条件信息列表
* @see com.mtkj.car.action.ListUserCarAction
* @throws ServiceException
*/
public ArrayList findForeCarList(int offset, int limit, String user_name) throws ServiceException;
3.4. 调用方法注释:
3.4.1. 作用:描述该方法调用的函数。
3.4.2. 书写规范:调用方法注释必须写在调用方法之前。该注释包括:方法功能说明、访问的接口及实现类、参数、返回值。
3.4.3. 格式:
/**
* 方法功能说明
* @see 调用的类.方法
* @param args (参数类型可以写在参数后,也可以省略。每个参数占一行,没有参数此项可省略)
* @return 输出参数(多种情况写在同一行,没有参数此项可省略)
*/
例如:
/**
* 从序列中获取下一个车辆编号值
* @see CarDao.getCarid()
* @see CarBean.getCarid()
* @see CarLocal.getCarid()
* @return car_id车辆编号
*/
car_id = cl.getCarid();





在开发中定义规范和注释规范很重要:
变量的规范是为了完成项目的成员将代码统一
注释规范有助于后来开发人员
注释规范:
/*
*类名
*作者
*时间
*版本号
*修改履历
修改履历要已修改的代码中表明
行注释用//
还可以写xml的注释


*/