第49条:检查参数的有效性
一般来说,前端传来的请求,后端一定要进行参数的校验,例如通过条件语句进行判断,不过更常规的方式其实是通过 javax.validation.constraints 包下的 @NotNull、@NotEmpty、@Size、@Max、@Min、@Pattern 等注解进行参数的校验。例如抛出异常或者打印日志。
第50条:必要时进行保护性拷贝
第51条:谨慎设计方法签名
- 谨慎地选择方法的名称。
- 不要过于追求提供便利的方法。
- 避免过长的参数列表。
- 对于参数类型,优先使用接口而不是类。
- 对于boolean参数,要优先使用两个参数的枚举。
第52条:慎用重载
这一条只是建议不要乱用重载,有一个保守的规则:通过起不同名字的方式,避免导出两个具有相同参数数目的重载方法。
第53条:慎用可变参数
可变参数会创建一个数组,数组的大小就是调用者参数的数量,然后将参数放入数组,数组再传递给方法。
但是可变参数会带来的问题就是可能会导致参数为0的情况,建议先用一个固定参数接收值,然后再用可变参数接受剩余的内容。
第54条:返回零长度的数组或集合、而不是null
这一点我以前写过一篇文章,防止空指针。
第55条:谨慎返回Optional
第56条:为所有导出的API元素编写文档注释
- 文档注释在源码或生成的文档中都应该是易于阅读的。
- 针对重载的方法,需要有侧重的描述区别,而不是完全相同的描述。
- 泛型和方法需要在注释中申明,参数的类型。
- 枚举需要在文档中说明常量的含义。
- 注解需要在文档中,需要说明所有成员。
- 类或者静态方法是否线程安全,需要在文档中标明线程安全级别。
