【发布时间】:2013-02-14 20:17:31
【问题描述】:
我很好奇如何重构这段代码:
array.collect{|x| x.some_method}.inject(:+) || 0
我在我的代码中使用不同的方法大约有十次,所以我认为我应该重构,但是如何重构?
我尝试了至少十种不同的块、procs 和 lambdas,此时我什至不确定它是否可以重构。
【问题讨论】:
-
考虑用诸如
sum之类的“命名”的东西替换各个部分。名字很好。名称创建隐式文档。如果同一行重复多次,那么这很可能也是“命名”的好候选。 -
“重构”类型的问题可能属于codereview.stackexchange.com。请参阅the CodeReview FAQ 了解更多信息。
标签: ruby lambda mapping block proc