要使用一个简单的示例,假设我有一个form.submit()方法,我想在提交之前验证表单。验证应该在调用代码中进入方法内部还是外部?
如果我将验证放在方法中,那么我可以放心,它总是被检查,而不用担心有人在没有满足条件的情况下调用方法。但是,对于读取调用代码的人来说,验证发生可能并不明显,导致他们通过在调用代码中添加自己的检查来检查它。如果他们在调用代码中看到的只是form.submit(),他们可能没有意识到它正在进行验证,导致他们通过添加围绕方法调用的if条件在调用代码中复制它。
处理此问题的正确方法是什么?
public void submit() {
if(this.isValid()) {
// do submission
}
}
...
form.submit();
OR
public void submit() {
// do submission
}
...
if(form.isValid())
form.submit();
答案 0 :(得分:0)
public void validateAndSubmit() {
if(this.isValid()) {
this.submitWhenValid()
}
}
public void submitWhenValid() {
// do submission
}
...
form.validateAndSubmit();