`
liyx985
  • 浏览: 215258 次
  • 性别: Icon_minigender_1
文章分类
社区版块
存档分类
最新评论

项目开发中的几点规范

 
阅读更多
项目开发规范
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的注释


*/
分享到:
评论

相关推荐

    web开发中怎么样使css书写规范?

    根据经验总结出以下几点规范,请大家参考一下: 一.所有的CSS的尽量采用外部调用:这是我认为最重要的一点,因为这影响加载页面时的速度. &lt;LINK href=”style/style.css” rel=”stylesheet” type=”text/css”&gt...

    移动项目分包策略.docx

    在项目中随心所欲的分包将代码放到任意的package中虽然最终不会影响App的功能,但却会存在非常严重的问题,不好的分包策略带来的影响将会一直持续在App的开发迭代周期中,主要表现为如下几点: • 代码混乱,功能...

    开发J2EE应用的要领

    J2EE作为开发mission-critical的企业级应用的一整套规范的整合平台。...本文试探从自己以往的项目经验来探讨开发J2EE应用应该遵循的几点准测入手,结合 JBoss 3.2.1下的J2EE应用开发为例展开论述。

    项目管理规范-RUP管理实施(第四部分)

    北京火龙果软件工程技术中心4. 目前实施项目规范的考虑由于目前软件开发实际情况的约束,完全按照RUP实施项目管理是一个理想化思路。... 对项目管理的几点感受目前我们的软件开发多为瀑布式开发,项目

    软件测试管理中测试人员如何保证软件质量

    项目各阶段包括PRD、Coding、UC、TC及发布严格遵守规范软件测试管理中测试人员如何保证软件质量保证软件质量是客户第一价值观的重要体现,作为软件产品的测试人员如何保证软件质量呢,通过对项目过程的实践与分析,...

    华为编程开发规范与案例

    在香港项目测试中,发现ISDN话机拨新业务号码时,若一位一位的拨至18位,不会有问题。但若先拨完号码再成组发送,会导致MPU死机。 处理过程: 查错过程很简单,按呼叫处理的过程检查代码,发现某一处的判断有误...

    项目管理规范-RUP管理实施(四)

    目前实施项目规范的考虑 由于目前软件开发实际情况的约束,完全按照RUP实施项目管理是一...4.1.对项目管理的几点感受目前我们的软件开发多为瀑布式开发,项目管理可以说是没有。所有的管理与软件设计都是由项目经理一

    Android代码-快速开发框架

    之后会展开对每一个功能点进行详细的说明,这几个模块是我自己根据项目的积累所认为的一些有必要的封装。 注:建议以Module的方式引入,这样方便根据自己项目情况进行调整。 这里没有太多的使用指南,更多是在Sample...

    Struts原理、开发及项目实施

    怎样把这些技术组合起来,形成一个适应项目需要的稳定架构是项目开发过程中一个非常重要的步骤。 此步骤一般主要由架构设计师完成,设计师将根据项目需求,对J2EE体系中的各处技术进行筛选取舍,并考虑到开发...

    JavaScript 开发中规范性的一点感想

    在开发中通用的几个方法,我们把它们放到utility目录下或者utility.js中;所有的提示信息和报错信息统一放置在一起。看起来都是小小的几步,却能让咱们开发的代码同事读起来更顺畅,下个项目中也能用上。

    软件测试规范

    软件测试规范 目 录 一.概述 ............................................................................................................................................................ 1 二 软件...

    北大青鸟ACCP 6.0 软件开发初级程序员:职业修养和进阶项目训练高级篇

    不好意思,本人发的"北大青鸟ACCP 6.0 软件开发初级程序员:c#语言和数据库技术基础"和 "北大青鸟ACCP 6.0 软件开发初级程序员:使用C#语言开发数据库应用系统" 文件搞反了,如果一起下载不影响的。呵呵 ACCP...

    HTML5移动Web开发指南.pdf

    Web项目中的项目经理以及策划人员。 对手机Web开发技术感兴趣的开发者。 开设计算机课程的高等院校及培训机构的师生。 此外,本书也适合熟悉.net、Java、PHP等后端Web技术的开发者阅读。 前言编辑 你是否使用过智能...

    工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究

    1.2.4 Android移动Web项目开发的三种解决方案:Native, Web和Hybrid优缺陷分析 4 1.2.5国内外应用现状 6 1.2.6 研究现状总结 7 1.3研究目标与内容 7 1.3.1多窗口浏览器模式的实现机制 7 1.3.2跨域交互即缓存处理方法...

    数据库设计命名规范.docx

    修订记录 时间 版本 修改点 修改人 目 录 1 目的 3 2 数据库名命名规范 3 3 数据库表命名规范 3 4 表字段命名规范 4 5 表设计规范 4 6 索引命名规范 5 7 主键、外键命名规范 5 目的 此规范包括数据库名命名规范、...

    HTML+CSS项目开发经验总结(推荐)

    针对这次项目开发,我总结了以下内容: 一、技术总结 1、公共样式的设定 在开始项目之前,我们可以先大体了解一下项目中每个页面的内容,比如字体样式,段落结构,文字大小等。我们可以针对这些内容来设定一个固定的...

    测试培训教材

    按照尽早进行测试的原则,测试人员应该在需求阶段就介入,并贯穿软件开发的全过程。就测试过程本身而言,应该包含以s下几个阶段。  -测试需求的分析和确定。  -测试计划。  -测试设计。  -测试执行。  -...

    项目管理中不该做的事

    这些都是庞大的工程,在操作的过程中会发现这些都不是阶段性或者项目性的工作,也就是说你不要希望有一天这些工作都做到100%了,你需要一直做这些,循环往复的做。如果是IT软件公司那还好,公司领导会支持你的很多...

Global site tag (gtag.js) - Google Analytics