一、构造器参数太多
1、用建造者设计模式
2、用JavaBeans模式,
3、get和set
二、不需要实例化的类应该构造器私有
三、不要创建不必要的对象
比如自动装箱Long a = 1L,可以在多个实例中重用的成员变量使用static
四、避免使用终结方法
比如finalizer()
五、使类和成员的可访问性最小化
在引用的范围中使用最小化的访问权限
六、使可变性最小化
不提供任何可以修改对象状态的方法;
使所有的域都是final的。
使所有的域都是私有的。
使用写时复制机制。
七、复合优先于继承
继承容易破坏封装性,而且会使子类的实现依赖于父类。
复合则是在类中增加一个私有域,引用类的一个实例,这样的话就避免了依赖类的具体实现。
只有在子类确实是父类的一个子类型时,才比较适合用继承。
继承需要开发者对父类的结构有一定了解。
实际使用,如果肯定是父类的子类,使用继承,如果不很肯定,使用复合
八、接口优于抽象类
九、返回零长度的数组或集合,不要返回null
方法的结果返回null,会导致调用方的要单独处理为null的情况。返回零长度,调用方可以统一处理,如使用foreach即可
十、优先使用标准的异常
十一、用枚举代替int常量
十二、将局部变量的作用域最小化
十三、精确计算,避免使用float和double
float和double在JVM存储的时候,有部分要做整数位,有部分要做小数位,所以存在精度上的问题 可以使用int或者long以及BigDecimal
十四、字符串连接
在存在大量字符串拼接或者大型字符串拼接的时候,尽量使用StringBuilder和StringBuffer
十五、控制方法的大小
java优雅的编写代码
最新推荐文章于 2023-07-16 18:07:15 发布