最近在弄一个考试答题系统,程序中使用了很多防御的设计
伪代码表示就是:
function CheckAnswer()
{
if(试卷不合法){
return 错误代码
}
if(试卷和答题者不对应){
return 错误代码
}
if(试卷没有全部完成){
return 错误代码
}
}
每当有一个错误的时候就直接返回了,写完的感觉就是,整个函数变成了一块一块的碎片,如果有更多的防御判断,那整个函数的就更碎了,而且 return 的错误代码太多,多到我在函数的注释中加上了错误代码列表,
like:
返回值:
-1 xxx 错误
-2 xxxxxx 错误
1 success
...
给人的感觉就是整个函数被多个 return 斩成了一段一段, 这里一只手,那里一条腿
虽然只用一个 return 会陷入嵌套海,但给人的感觉整个方法还是完整的,只是细长弯曲
是只有我一个人有这种感觉么
类似情况你们是怎么处理的
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.