干净地验证输入

时间:2016-05-21 15:18:53

标签: c validation input

在谈论"清洁代码"时,我们通常会听到一个干净利落的函数只有一件事

在处理用户输入时,它是否算作一件事的一部分来验证输入?例如,

/* Arg1 is passed directly from user input */
int foo(int arg1) {
    if (!arg1 || arg1 < 500) {
        return -1;
    }

    /* Do foo */
}

最好在函数内部编写这些验证测试,还是应该以某种方式将它们分开,如:

if (argIsValid(arg1)) {
    foo(arg1);
}

无论如何,我想听听您的回答支持推理。谢谢!

1 个答案:

答案 0 :(得分:0)

最好在函数中编写验证逻辑,例如名称为validate_args()

你知道,当你想要增强验证逻辑时,即使你不是代码的作者,你也必须看起来很明显,所以+1用于维护!

此外,它也使代码更优雅!