在 SQL 和 C# 中,我从来都不太喜欢输出参数。我也从未在 VB6 中通过 ByRef 传递参数。依靠副作用来完成某件事只会让我烦恼。
我知道它们是一种解决无法从函数返回多个结果的方法,但 SQL 中的行集或 C# 和 VB 中的复杂数据类型也可以正常工作,而且对我来说似乎更加自记录。
我的想法是否有问题,或者是否有权威来源的资源支持我?您个人对此有何看法?为什么?对于想要使用输出参数进行设计以说服他们使用不同结构的同事,我能说什么?
编辑:有趣的转变-我问这个问题的输出参数被用来代替返回值。当返回值为“ERROR”时,调用者应该将其作为异常处理。我正在这样做,但对这个想法不满意。一位同事没有被告知需要处理这种情况,结果,由于手术无声无息地失败,损失了大量金钱!
输出参数可能是一种代码味道,表明您的方法做得太多了。如果您需要返回多个值,则该方法可能会做不止一件事情。如果数据紧密相关,那么它可能会受益于包含这两个值的类。
当然,情况并非总是如此,但我发现通常都是这样。
换句话说,我认为你避免它们是正确的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)