我想知道哪种控制结构更好地进行验证
我尝试过if else if和if-> return ... if-> return
哪个更好,更容易理解?
if(user.name == null) {
errorMessage ('insert name')
} else if (user.age == null) {
errorMessage('Insert age')
} else {
insertUser(user)
}
OR
if(user.name == null) {
errorMessage ('insert name')
return
}
if (user.age == null) {
errorMessage('Insert age')
return
}
insertUser(user)
这些不相等,因此,哪个样式更好是无关紧要的。
如果使用第一个代码块,如果name
为null
,并且age
也为null
会发生什么?答:您只需设置名称,年龄将保持null
。
所以您应该使用第二个块。
此外,通常应考虑使用if (a == null)
之类的内容来代替支票if (!a)
。这不仅处理null
值,还处理其他一些伪造的值(例如undefined
,''
等)。
就性能而言,它们是相同的。
关于代码的可读性,我更喜欢后者。
为了维护,稍后,因为您稍后可能需要所有错误的列表,因此更易于实现。