java - 检查所有函数中的所有函数参数

标签 java validation parameters function

当我第一次从 c 迁移到 Java 时,我以为我已经完成了每个函数开头的所有烦人的参数检查。 (有福的异常(exception))

最近我意识到我正在慢慢地再次回到这种做法,并且我开始对所有这些感到非常恼火

if (null == a || null == b || null == a.getValue() || ...) 
{
  return null;
}

例如,我有一个实用程序类,可以分析网页并从中提取特定元素。任何对带有 null 元素的 dom 对象函数的调用通常都会导致异常 - 因此,我在此类中编写的几乎所有函数都有无数的 null 检查:

private URL extractUrl(Element element) throws Exception {
if (null == element) {
  return null;
} ... 

public List<Object> getConcreteElements(String xpath) throws Exception {
if (null == xpath) {
  return Collections.emptyList();
}...

public String getElementsAsXML(String xpath) throws Exception {
if (null == xpath) {
 return null;
}...

在每个函数的开头。这是我也应该使用的东西,还是有一些我不知道的编码实践可以简化我的生活?

最佳答案

返回 null 意味着调用者必须始终检查方法的结果。意味着更多悲惨的空检查。

考虑使用 NullObject 模式,在该模式中返回有效对象但具有空操作。 IE。如果返回集合或类似情况,则为空列表。

关于java - 检查所有函数中的所有函数参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1206637/

相关文章:

java - 用户单击 AlertDialog OK 按钮后如何导航到下一个 Activity ?

java - 在 Web 应用程序中验证数据的位置(使用 Spring)

javascript : validate upper case and lower case

python - help() 列出方法签名时斜线是什么意思?

powershell - 如何从Powershell脚本中使用多个参数执行.Bat

java - Java 中是否存在运算符重载?

java - JSP - 将变量传递给 servlet

jQuery - 动态设置过滤器方法

java - 将 Spring Boot 与 JPA 一起使用时如何坚持

asp.net-mvc - 我可以从操作过滤器返回操作结果吗?