在谈论"清洁代码"时,我们通常会听到一个干净利落的函数只有一件事。
在处理用户输入时,它是否算作一件事的一部分来验证输入?例如,
/* Arg1 is passed directly from user input */
int foo(int arg1) {
if (!arg1 || arg1 < 500) {
return -1;
}
/* Do foo */
}
最好在函数内部编写这些验证测试,还是应该以某种方式将它们分开,如:
if (argIsValid(arg1)) {
foo(arg1);
}
无论如何,我想听听您的回答支持推理。谢谢!
答案 0 :(得分:0)
最好在函数中编写验证逻辑,例如名称为validate_args()
。
你知道,当你想要增强验证逻辑时,即使你不是代码的作者,你也必须看起来很明显,所以+1用于维护!
此外,它也使代码更优雅!