章节:方法设计
- 重点:方法设计的可用性、稳定性和灵活性。
- 覆盖范围:参数及返回值处理、方法签名设计及文档。
第 49 项目:检查参数的有效性
- 参数限制: 参数值(如非负索引、非空引用)通常受到方法和构造函数的限制。 在方法开始时,必须记录和检查这些约束。
- 验证的重要性: 尽快检测错误,避免方法中的意外故障或不正确行为。 不检查参数的方法可能会导致难以调试的崩溃。
- 异常文档: 使用 @throws javadoc 记录违反约束时造成的异常。 常见异常:illegalargumentexception、indexoutofboundsexception、nullpointerexception。
参数检查示例:
public static int mod(int x, int y) { if (y <p><strong>- objects.requirenonnull 的使用:</strong><br> java 7 中引入,用于检查对象的可空性。<br> 返回验证后通过的值:<br></p> <pre class="brush:php;toolbar:false">this.m = objects.requirenonnull(m, "parâmetro 'm' não pode ser nulo");
- 范围检查(java 9): checkfromindexsize、checkfromtoindex 和 checkindex 该方法用于检查列表和数组中的索引。 灵活性差,主要用于集合。 **
- 非公共方法中的参数检查:** 使用断言检查非导出方法的参数:
assert x > 0 : "Valor de x deve ser positivo";
- 特殊情况: 构建者应始终检查以后使用的存储参数的有效性。 成本高的检查可以例外,其中检查在计算过程中是隐藏的。
- 隐式验证示例: collections.sort(list) 假设对象是相互比较的。验证发生在排序过程中。
- 异常翻译: 当隐式检查抛出错误时,使用“异常翻译”抛出正确的异常。
- 限制灵活性: 该方法应尽可能通用,并尽可能少地限制。
- 结论: 记录和实施方法和构造函数参数的有效性检查。实践对于避免未来的错误和促进调试至关重要。
以上是项目 查看参数有效性的详细信息,请关注图灵教育的其他相关文章!