在SQL和C#中,我从未真正喜欢过输出参数。在VB6中,我也从不传递ByRef参数。依赖副作用来完成某些事情,总有些令人不安。
虽然我知道它们是解决无法从函数返回多个结果的一种方式,但在SQL中使用行集或在C#和VB中使用复杂数据类型同样有效,并且对我来说更加易于自我说明。
我的想法有问题吗?是否有权威来源的资源支持我的想法?你对此有何个人看法,并为什么?我应该如何说服想要使用输出参数进行设计的同事改用其他结构?
编辑:有趣的转折 - 我提出这个问题的输出参数是用于替代返回值的。当返回值为“ERROR”时,调用者应将其视为异常处理。我正在这样做,但是对此想法并不满意。由于一位同事没有被告知需要处理此条件,因此程序默默地失败导致损失了大量资金!