小新 的 BLOG
            
            -=java、Web编程=-

命名及编码规范(简化、暂行),完善中.......

完善中.......

命名及编码规范(简化、暂行)
Author:黄新艺
Version:1.0
Key word:命名、编码、规范
(参照Java编码规范)
采用技术:Spring1.2 + Hibernate2.12 + JSTL/JSP2.0
开发环境:1、WSAD5.1.2 + Oracle9i
2、Eclipse3.1 + MySQL5.0Bate

1、Java Package
(1)命名:package的名字应该都是由一个小写单词组成,带有实际意义(比如模块名);
    module1、module2、….、pub
(2)结构:几个包组成:bus、web、dao、pub(公用),各个业务模块应该在bus、web、dao等下面组织。
2、Java Class
(1)命名:名字必须由大写字母开头而其它字母都为小写的单词组成
(2)comment:
/**
* @deprecated:
* @author:
* @version:
* @modify:
* @Copyright:
*/
如下

package bus;

import java.io.Serializable;
import java.util.List;
import java.util.ListIterator;

import org.springframework.orm.hibernate3.HibernateTemplate;

import dao.ProductManagerDao;

/**
* ProductManager 处理Product正常操作,实现Product之业务逻辑。
*                 主要有添加、删除、修改、查询
* @author: 黄新艺
* @version: 1.0
* @modify: [时间][修改人][修改内容]
* @Copyright: 版权由[公司名]拥有
*
*/
public class ProductManager implements Serializable {
private ProductManagerDao pmd;
private List products;
public void setProductManagerDao(ProductManagerDao productManagerDao) {
this.pmd = productManagerDao;
}


3、Java Method
    (1)命名:
函数名第一个字母小写(一般为动词)后面单词第一个字母大写,函数名尽量表达函数的用途如:保存产品信息saveProduct()、修改update..、删除delete..、….
Geter和Seter应参照标准,亦可自动生成。
(2)参数应带用实际意义如loadProduct(String productName);
(3)comment:
    /**
     * 方法描述
     * @param 参数描述
     * @return 返回类型的描述
     * @exception 出错信息的描述
     */
如:
    
    /**
     * 提高所有产品的价格,提高pct
     * @param pct 提高价格的比率
     *
     */
public void increasePrice(int pct) {
ListIterator listProductAll = products.listIterator();
while (listProductAll.hasNext()) {
Product p = (Product) listProductAll.next();
pmd.increasePrice(p,pct);
}
}

4、Java 接口
    (1)命名:采用完整的英文描述说明接口封装,所有的单词的第一个字母大写。习惯上名字后面加上后缀able,ible或者er。
5、Java变量
(1)命名(包括Jsp页面变量):必须用一个小写字母开头,后面的单词大写字母开头。尽量采用英文命名
Static final 变量的命名,全部用大写,并且是完整的含义。如:进入页面LOGINPAGEURL.
循环计数的变量一般用i、j、k、m、l或者counter。
(2)comment:如需要注释尽量采用尾部注释
    如:ListIterator listProductAll = products.listIterator(); //所有的产品列表
6、JSP页面
    (1)命名:
一、都应为小写,模板[对象]+[.或者_]+[动作]+[.jsp]如product.add.jsp、product.update.jsp。
二、采用完整的英文描述说明JSP所完成的功能,尽可能包括一个生动的动词,
第一个字母小写,如:viewMessage.jsp、editUser.jsp 或者forumChooser.jsp 等
        页面action命名也如上(扩展名用.do)product.add.do
    (2)comment:每一个页面尽量写上comment
<%!
/**
*
* @author:
* @version:
* @modify:
* @Copyright:
*/
%>
7、javascript和CSS
    javascript参照Java,CSS略。
8、数据库设计
    表名:[模块名]+[_]+[表名,英语单词有具体意义,如产品product]

Java的一般编码规范
1、    参考 www.huihoo.org/code/java_code_conventions.html#311 Java语言编码规范(Java Code Conventions)
2、    统一字符集类型为:UTF-8
3、    函数不要太长,太长了应该考虑抽取新函数。
行长度:一般不得超过80个字符,包括缩进
4、    统一代码格式,代码缩进格式参照如下

    
    /**
     * 提高所有产品的价格,提高pct
     * @param pct 提高价格的比率
     *
     */
public void increasePrice(int pct) {
ListIterator listProductAll = products.listIterator();
while (listProductAll.hasNext()) {
Product p = (Product) listProductAll.next();
pmd.increasePrice(p,pct);
}
}

5、    频繁对String进行修改操作应采用StringBuffer。
6、    避免使用太多的synchronized同步关键字。尽量避免使用Vector等可同步类,使用不可同步的ArrayList、Iterator等效率会比Vector高很多,除非有必要。
7、    尽量使用接口,而不是具体的类。在编码过程尽量考虑分层的思想。
8、    流操作后,切记要关闭。有Connection、Statement、PreparedStatement、ResultSet等操作不在使用一定要关闭。
9、    数据库查询语句(SQL),尽量不要使用*通配符,写明字段名。
10、    使用Hibernate实现持久层时候尽量不要采用关联。
标签集:TAGS:
回复Comments()点击Count()

回复Comments

{commenttime}{commentauthor}

{CommentUrl}
{commentcontent}
  用户登录
用户名
密 码
选 项:
 
  我的日历
  分类日志
  访问计数
  获取 RSS
bluelover 最新的 20 条日志
  最新评论
  友情链接
  联系我
                  GMail:bluelover@gmail.com
MSN:xini_huang@hotmail.com
QQ:85364603
Modified by blueloverPowered by 5DBlog.com