《Effective JAVA》
第7章 方法
首先要注意检查参数和方法的有效性:
1.应提前构想方法的参数合法性,对尽可能对内部函数使用 Assert。
2.私有的方法可以使用断言来作为参数的检查方法
3.对参数的任何限制不见得是一件好事,有些计算和方***隐式的执行必要的有效性检查。
4.同样,我们也要注意参数的有效性检查会产生或多或少的系统开销。
5.将参数的限制写进文档中,并至于方法的开头处,这样的习惯也是非常重要的。
必要的时候进行保护性拷贝:
1.与安全性相关的条目,当构造器参数为可变对象时,应复制后,对复制对象进行检查及后续操作
2.内部组件被返回给客户端之前,同样道理也应该做保护性拷贝。
谨慎设计方法签名
1. 谨慎地选择方法的名称
2. 不要过于追求提供便利的方法
3. 避免过长的参数列表。
慎用重载
覆盖机制是规范,但是重载机制是例外,因此要慎重使用重载
慎用可变参数
可变参数的类型检查是个不可控的问题,易造成混乱。
返回零长度的数组或者集合,而不是null
返回类型为数组或集合的方法没理由返回null,应当是放回一个令长度的数组或集合。
为所有导出的API元素编写文档注释
每个coder都应具备的能力,只有好的文档注释才能方便后来的使用。