プログラミング
Anecdotally、プログラマーは「Reduce」を嫌う
Anecdotally, Programmers Dislike "Reduce" (evanhahn.com)
要約
筆者の経験によると、多くのプログラマーはmapやfilterといった関数は好むものの、reduce関数に対しては読みにくい、馴染みがない、パフォーマンスが劣る、あるいはエレガントさに欠けるといった理由で否定的な意見を持つ傾向があるようです。この現象は筆者の観察に基づくもので、最近ではコードレビューの質低下により見かける機会が減った可能性も指摘しています。
全文翻訳
要するに、私の経験では、人々はmapとfilterは好きですが、reduceは好きではありません。
私はmapやfilterのような関数を常に使っています。そのコードをレビューに出すと、同僚から文句を言われることはめったにありません。他の決定については多くのフィードバックを得ますが、mapやfilterの使用については何も言われません。
reduceについては同じことは言えません。reduceが含まれるパッチを提出すると、「この部分は読みにくい」といったコメントをもらうことがよくあります。そして、map、filter、someなどと比較して、reduceの使用頻度がはるかに低いことがわかります。
Anecdotally、プログラマーはreduceをそれほど好きではないと信じるようになりました。
理由はわかりませんが、いくつかの理論があります。
reduceは読みにくい。
reduceは馴染みがない。
reduceは他の選択肢と比較してパフォーマンスが悪くなる可能性がある。
私が使用するJavaScript、Python、Swiftのような言語では、reduceはエレガントさに欠けます。Clojure開発者だった頃は、このようなフィードバックはありませんでした。
私が間違っていて、実際には存在しない傾向を見ているのかもしれません。
私は通常、reduceを別のものに変更して先に進みます。それが好きですが、あまり気にしません。しかし、これは私が観察したちょっとした社会現象であり、記録しておきたいと思いました。
最近では、コードレビューがそれほど徹底されなくなったため、この現象はあまり見られなくなった可能性もあります。
あなたはこのことに気づいていますか?reduceは好きですか?教えてください。