选项1:功能
int funcA(int a){
if(a < 0){
return -1;
}
else{
...
return 0;
}
}
选项2:主要
int main(){
int a;
...
if(a < 0){
...
}
else{
funcA(a);
}
}
选项3:两个地方?如果您有一些建议,我将不胜感激。
答案 0 :(得分:1)
调用者责任确保它根据文档调用具有有效参数的函数。
当 时,可以防止无效值被调用的函数感兴趣 - 再次,根据文档。
没有固有的&#34;对&#34;或&#34;错误&#34;选择没有 funcA
的合同(文档),它高度依赖于该函数的以及 的预期使用
答案 1 :(得分:1)
对于什么是更好的没有严格的规则 - 基本上你需要考虑两种情况。
如果约束对于函数的这种特定用法是唯一的,那么最好将它们放在函数之外,以使函数更加通用化并仅限制对它的特定调用。
如果约束是函数的组成部分,并且每当调用函数时总是会出现这种约束,那么最好将它们放在函数中,这样它们就不必在每个地方重复。函数将被调用。