检查参数的有效性实际上是满足了这一条普遍原则:
应该在发生错误之后尽快检测出错误。
例子:
有个数据库查询的例子,传入一个id,查出一个Student对象,然而返回null,如果没有及时检查这个实例是否为空, 那么在后面使用这个实例时会报错 空指针异常,这时要想找到这个实例究竟在什么时候,什么地方变成空的就会难度加大,因为从赋值到使用这段时间,这个实例可能会发生变化。
需要注意的地方:
1.在构造器中检查参数是十分必要的,可以避免创建出一个违反规则的类。
2.如果检查的代价非常大,那么可以延迟检查或不检查。
总结:
每当编写方法或者构造器时,应该先考虑它的参数有没有什么限制,并把这些限制写到文档中,并且在方法或者构造器的开头处,通过显示检查来实施限制。养成这样的习惯是很重要的。