Anecdotisch gezien houden programmeurs niet van "reduce"

Kort gezegd: uit mijn ervaring houden mensen van map en filter, maar niet van reduce.

Ik gebruik functies als map en filter voortdurend. Wanneer ik die code ter review aanbied, klagen mijn collega's zelden. Ik krijg veel feedback over andere beslissingen, maar niet over mijn gebruik van map en filter.

Dat kan ik niet zeggen voor reduce. Vaak krijg ik, wanneer ik een patch heb ingediend met reduce erin, een opmerking als: "dit gedeelte is moeilijk leesbaar." Bovendien zie ik reduce veel minder vaak dan map, filter, some, enzovoort.

Anecdotisch gezien ben ik tot de overtuiging gekomen dat programmeurs minder van reduce houden.

Ik weet niet waarom, maar ik heb een paar theorieën:

  • reduce is moeilijker leesbaar.
  • reduce is minder bekend.
  • reduce kan slechtere prestaties hebben in vergelijking met andere opties.
  • reduce is minder elegant in talen die ik gebruik, zoals JavaScript, Python en Swift. Tijdens mijn gelukkige periode als Clojure-ontwikkelaar kreeg ik deze feedback niet.
  • Ik heb het mis en ik zie een trend die niet echt bestaat.

Meestal verander ik reduce gewoon in iets anders en ga ik verder. Hoewel ik zelf de voorkeur aan reduce geef, maakt het me meestal niet zoveel uit. Maar het is een klein sociaal fenomeen dat ik heb geobserveerd en dat ik wilde documenteren.

Ik heb dit recentelijk minder opgemerkt, mogelijk omdat code reviews tegenwoordig minder grondig zijn.

Merk jij dit ook? Houd jij van reduce? Laat het me weten.