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