函数参数检验的研究

良好的防御性编程要求我们检验函数的参数是否合法,但是检验过程放在函数体内好呢,还是用的时候放在函数体外好呢?

1.函数体外参数检验

优点:逻辑清晰;程序高效(避免额外调用开销)

缺点:代码冗余;安全度不高(忘记检验)

2.函数体内参数检验

优点:代码清爽;安全度高,任何情况下的调用都可以放心

缺点:调用开销大(额外的调用);容易产生重复检验

综合考虑,对于安全度需求高的函数,我们采用函数体内参数检验;对于频繁使用非法参数调用的情况,我们应采用函数体外参数检查,避免过度调用

原文地址:https://www.cnblogs.com/guoxiaoqian/p/3960090.html