在什么时候对参数进行验证

为了保证函数运行的正确性,在函数的开始一般要对参数的正确性进行判断,如果函数间相互进行调用的时候,可能会出现多次对同一个参数的正确性进行验证,出现代码冗余。
比如在Action的一个函数里面调用一个Service的方法,参数验证位置有三种情况:
[list]
[*]1、在Service的函数里面
[*]2、在Action里调用Service的方法前
[*]3、在两个函数里面都对参数进行验证(肯定会有代码冗余)
[/list]
如果一个函数要求参数不能为空或是空字符串,在函数的里面应该就是这样的:

public void doSomething(String foo) {
if (null == foo || "".equals(foo.trim())) {
return;
}
// some code
}

在另一个函数里面调用到了上面的方法:

public void doAnything(String foo) {
if (null == foo || "".equals(foo.trim())) {
return;
}
doSomething(foo);
// some code
}

这样的话验证参数的代码就重复了。

个人认为,在Service层里面可以不进行参数的验证,假定参数都是正确的。而是在调用Service层的方法之前,先对要传入的值进行验证,正确了才能调用相应的方法。

[color=darkred][b]问题核心就是,是要在一个函数里面进行参数验证,还是在调用函数前对参数进行验证。[/b][/color]

大家平常怎么写的,相互参考下。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值