Loading...
JAVA企业级项目开发约定

程序员笔记 2016/08/23

在现有的软件开发方法中,我们通常使用的是敏捷的软件开发方法,对团队在开发过程中整体协调性要求很高, 在开发过程中约定好开发规则,有利于项目统一性、持续性、扩张性,本着约定优于开发的原则,项目开发需要遵循如下开发规则:

1、类的命名:大写字母开头,遵循驼峰标示

模块名称

Article、RabbitmqLog

 

包约定

实体:entity

数据传输类:dto

持久层:dao

业务层:service

视图层:web

WEB服务:webservice

工具utils

通用common

其他:rabbitmq、mina、quartz

 

类约定

持久类:ArticleDao、ArticleDaoImpl、RabbitmqLogDao

业务类:ArticleService、ArticleServiceImpl

视图类:ArticleController、RabbitmqLogController

方法约定

getById();

getByNameAndId(String name,Long id)

getList();

getPage()

save();

update();

checkUsername();

isUnique(Sring name);

 

文件夹约定

以模块名称来命名:

cms

article

channel

index

login


 

页面约定

rabbitmq-log.jsp

rabbitmq-log-detail.jsp

article.jsp

article-input.jsp

article-detail.jsp

article-update.jsp

数据库表名称:系统名称_模块名称_实体名称

ticket_product

ticket_order_product

ticket_order_product_parent

ticket_product

 

 

类注释:

/**

 * TicketInventorReceiveService.java

 *

 * @author Ethan Wong

 * @since JDK 1.7

 * @datetime 2016年3月17日下午1:56:11

 */


方法注释:

    /**

     * 

     * @param entity

     * @param inventoryId

     * @return

     *

     * @author Ethan Wong

     * @datetime 2016年3月17日下午1:56:28

     */


内部属性注释:

public class Article{

    private String title;//标题

    private String content;//名称

    ...

    getter and setter

}

 

静态属性注释:

public class Constant{

  /**

     * 是否发送短信

     */

    public static final Boolean IS_SEND_SMS = true;

}

 

代码编程约定,在保证业务逻辑的前提下,提高代码可读性

1、变量名称的名称可以通过字面意思理解,不可简写

2、尽量缩短变量的作用域

3、需要使用变量是才声明

4、优先处理错误情况,并且返回错误信息

5、if  else 嵌套尽量不超过3层,超过部分抽象封装独立方法

6、相同业务的代码不可多处编写,封装通用业务代码

7、保证代码的阅读顺序为由上至下,而不是上下跳着阅读

8、代码需要持续重构,实现代码最优,不可以完成业务功能为结束目标



Comments