<分区>
我强烈反对返回多个结果以进行进一步多重赋值的方法,如下所示:
class ImportUsersFromFile
def perform
...
[imported_rows, errors]
end
end
因为它引入了一个晦涩难懂的数据结构“一个数组,第一个元素是这个东西,第二个元素是那个东西”。如果很明显该方法应该返回这样的结构就好了。例如,可以从类似 Person#name_parts
的方法中期望三个值 first_name, middle_name, last_name
。
但我只能用我的话来支持我的观点。多重结果是否被视为某种反模式或代码味道?希望有一些链接。