检查此功能:
private string function(string currentRegion)
{
if (string.isNullOrEmpty(currentRegion)) return;// Is it the best practice to validate it inside the function?
return doSomething();
}
或
if (string.isNullOrEmpty(region)) result = function(region); // Or here?
或者也许是both?
因为是否在函数内部验证,如果无效则返回哪个字符串?
因为如果调用者验证=>“我是函数”,我必须对其进行验证!
因为如果同时使用,可能是多余的代码?
我认为第一种方法是最好的方法,因为该代码易于调试
取决于。
如果是私有函数/方法,并且可以在调用方检查参数,则由调用方进行检查就足够了。当然,您也可以检查此类功能/方法的内部,例如,防止自己犯错。
而且,如果它是任何公共方法/函数,强烈建议您检查此函数/方法中的参数,因为您不能假定将正确地调用它。
[不要相信外来词,不要相信未知的代码,不要相信任何其他正在调用您的函数/方法的程序员;)可以通过几行代码来实现针对错误参数的保护,而这种保护的代价始终是少于调试代码和调查所花费的时间,这是什么问题。