详解Java编程--基础代码的规范化(4)_JSP教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:揭秘JSP与XML编程原理及技巧
从所周知,JSP和XML是J2EE的两个最为重要的组件,JSP是用于创建服务器端应用程序,而客户可以是一个浏览器,一个设备或其它的应用程序。你可以使用XML描述数据并在联系服务器与系统的其余部分之间传递。如果你仔细考虑Web服务的抽象概念的话,JSP可以被认为


异常 

申明的错误应该抛出一个RuntimeException或者派生的异常。 

顶层的main()函数应该截获所有的异常,并且打印(或者记录在日志中)在屏幕上。 

垃圾收集 

JAVA使用成熟的后台垃圾收集技术来代替引用计数。但是这样会导致一个问题:你必须在使用完对象的实例以后进行清场工作。比如一个prel的程序员可能这么写: 

... 

FileOutputStream fos = new FileOutputStream(projectFile); 
project.save(fos, "IDE Project File"); 

... 

   除非输出流一出作用域就关闭,非引用计数的程序语言,比如JAVA,是不能自动完成变量的清场工作的。必须象下面一样写: 

FileOutputStream fos = new FileOutputStream(projectFile); 
project.save(fos, "IDE Project File"); 
fos.close(); 

Clone 

下面是一种有用的方法:

implements Cloneable 

public 
Object clone() 

try { 
ThisClass obj = (ThisClass)super.clone(); 
obj.field1 = (int[])field1.clone(); 
obj.field2 = field2; 
return obj; 
} catch(CloneNotSupportedException e) { 
throw new InternalError("Unexpected CloneNotSUpportedException: " + e.getMessage()); 


final 类 

绝对不要因为性能的原因将类定义为 final 的(除非程序的框架要求) 

如果一个类还没有准备好被继承,最好在类文档中注明,而不要将她定义为 final 的。这是因为没有人可以保证会不会由于什么原因需要继承她。 

访问类的成员变量 

大部分的类成员变量应该定义为 protected 的来防止继承类使用他们。 

注意,要用"int[] packets",而不是"int packets[]",后一种永远也不要用。 

public void setPackets(int[] packets) { this.packets = packets; } 

CounterSet(int size) 

this.size = size; 

编程技巧 

byte 数组转换到 characters 

为了将 byte 数组转换到 characters,你可以这么做: 

"Hello world!".getBytes(); 

Utility 类 

Utility 类(仅仅提供方法的类)应该被申明为抽象的来防止被继承或被初始化。 

初始化 

下面的代码是一种很好的初始化数组的方法: 

objectArguments = new Object[] { arguments };

枚举类型 

JAVA 对枚举的支持不好,但是下面的代码是一种很有用的模板: 

class Colour { 
public static final Colour BLACK = new Colour(0, 0, 0); 
public static final Colour RED = new Colour(0xFF, 0, 0); 
public static final Colour GREEN = new Colour(0, 0xFF, 0); 
public static final Colour BLUE = new Colour(0, 0, 0xFF); 
public static final Colour WHITE = new Colour(0xFF, 0xFF, 0xFF); 

  这种技术实现了RED, GREEN, BLUE 等可以象其他语言的枚举类型一样使用的常量。 他们可以用 == 操作符来比较。 
但是这样使用有一个缺陷:如果一个用户用这样的方法来创建颜色 BLACK 

new Colour(0,0,0)

那么这就是另外一个对象,==操作符就会产生错误。她的 equal() 方法仍然有效。由于这个原因,这个技术的缺陷最好注明在文档中,或者只在自己的包中使用。 

分享:如何在Spring中使用AOP
AOP正在成为软件开发的下一个圣杯。使用AOP,你可以将处理aspect的代码注入主程序,通常主程序的主要目的并不在于处理这些aspect。AOP可以防止代码混乱。 为了理解AOP如何做到这点,考虑一下记日志的工作。日志本身不太可能是你开发的主程序的主要任务。如果

来源:模板无忧//所属分类:JSP教程/更新时间:2010-02-27
相关JSP教程