为什么我喜欢lodash/fp,而不是ramda,因为前者具有很好的容错性和数据可预期性,而不是粗暴的动不动抛错。举个例子,所有的对数组的操作函数都应该返回数组,如果出现异常,应返回空数组,这是符合调用者对数据的预期的。因为运行时,你的什么类型检查,单元测试全都无用,你根本不可能控制数据类型和值精确地符合程序要求,在这种情况下,返回“最小单位元”(Haskell monoid概念)无疑比抛错让程序崩溃地好。
展开
评论