提升Java代码质量(三)】的更多相关文章

Item7:覆盖equals时需要遵守通用约定 在我们日常开发过程中,重写equals是比较常用的,但存在许多不合适的覆盖方式导致错误,最好的避免方法就是不去重写equals.但有时我们的业务又需要建立特定的等价关系,而父类中又没有这种特定的等价关系,我们就要重写equals,我们必须遵守它的通用约定(JAVASE6): 自反性(reflexive):对于非null的引用x,x.equals(x)必须为true; 对称性(symmetric):对于非null的引用x和y,当且仅当y.equals…
Item5:消除过期对象的引用 JVM为我们实现了GC(垃圾回收)的功能,让我们从手工管理内存中解放了出来,这固然很好,但并不意味着我们就再也不需要去考虑内存管理的事情了;我们用简单的栈实现的例子来解释: public class Stack { private Object[] elements; private in size = 0; private static final int DEFAULT_INITIAL_CAPACITY = 16; public Stack(){ elemen…
博主双12入手了一本"Effective Java第二版",本系列文章将初步梳理书中内容,我也查了些资料,我会针对知识点做一点展开,方便以后复习回顾; Item1.考虑用静态工厂代替构造器: 静态工厂的优势: 更易于阅读(有名称) 可以做成单例(Singleton)的 可以实现多态(返回多个子类型的对象) 在创建参数化类型的实例时,他们使代码变得更加简洁 静态工厂存在的不足: 1.类如果不含共有的或者受保护的构造器,就不能被子类化; 2.他们与其它的静态方法其实没区别,因此对于客户来说…
提高你的Java代码质量吧:推荐使用枚举定义常量 一.分析 常量的声明是每一个项目中不可或缺的,在Java1.5之前,我们只有两种方式的声明:类常量和接口常量.不过,在1.5版之后有了改进,即新增了一种常量声明方式,枚举常量.代码如下: enum Season{ Spring,Summer,Autumn,Winter; } 二.场景 那么枚举常量与我们的经常使用的类常量和静态常量比有什么优势呢? 1.枚举常量更简单  先把Season枚举翻译成接口,代码如下: interface Season{…
提高Java代码质量的Eclipse插件之Checkstyle的使用详解 CheckStyle是SourceForge下的一个项目,提供了一个帮助JAVA开发人员遵守某些编码规范的工具.它能够自动化代码规范检查过程,从而使得开发人员从这项重要但是枯燥的任务中解脱出来. CheckStyle检验的主要内容 ·Javadoc注释 ·命名约定 ·标题 ·Import语句 ·体积大小 ·空白 ·修饰符 ·块 ·代码问题 ·类设计 ·混合检查(包活一些有用的比如非必须的System.out和printst…
Eclipse远程调试Java代码的三种方法, 第1种方法是用来调试已经启动的Java程序,Eclipse可以随时连接到远程Java程序进行调试, 第2种方法可以调试Java程序启动过程,但是Eclipse不能随时连接到远程Java程序进行调试, 第3种方法可以同时具备上面两种的优点,在调试Java程序启动过程后, 即使断开后Eclipse还是可以随时连接到远程Java程序进行调试. 在实际使用过程,一般使用第1种调试方法, 在需要调试Java程序启动过程的时候,才会使用第3种方法, 第3种和第…
前言 代码 优化 ,一个很重要的课题.可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,吃的小虾米一多之后,鲸鱼就被喂饱了. 代码优化也是一样,如果项目着眼于尽快无BUG上线,那么此时可以抓大放小,代码的细节可以不精打细磨:但是如果有足够的时间开发.维护代码,这时候就必须考虑每个可以优化的细节了,一个一个细小的优化点累积起来,对于代码的运行效率绝对是有提升的. 代码优化的目标…
代码优化,一个很重要的课题.可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,吃的小虾米一多之后,鲸鱼就被喂饱了. 代码优化也是一样,如果项目着眼于尽快无BUG上线,那么此时可以抓大放小,代码的细节可以不精打细磨:但是如果有足够的时间开发.维护代码,这时候就必须考虑每个可以优化的细节了,一个一个细小的优化点累积起来,对于代码的运行效率绝对是有提升的. 代码优化的目标是 减小代…
CheckStyle是SourceForge下的一个项目,提供了一个帮助JAVA开发者遵守某些编码规范的工具.它可以自己主动化代码规范检查过程.从而使得开发者从这项重要可是枯燥的任务中解脱出来. CheckStyle检验的主要内容  ·Javadoc凝视  ·命名约定  ·标题  ·Import语句  ·体积大小  ·空白  ·修饰符  ·块  ·代码问题  ·类设计  ·混合检查(包活一些实用的比方非必须的System.out和printstackTrace) 从上面能够看出,CheckSty…
前言 代码 优化 ,一个很重要的课题.可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,吃的小虾米一多之后,鲸鱼就被喂饱了. 代码优化也是一样,如果项目着眼于尽快无BUG上线,那么此时可以抓大放小,代码的细节可以不精打细磨:但是如果有足够的时间开发.维护代码,这时候就必须考虑每个可以优化的细节了,一个一个细小的优化点累积起来,对于代码的运行效率绝对是有提升的. 代码优化的目标…