In dit artikel beschrijft Evan Hahn een persoonlijke observatie over het gebruik van de reduce-functie in programmeertalen. Terwijl functies zoals map en filter zelden tot bezwaren leiden, wordt reduce vaak bekritiseerd vanwege een gebrek aan leesbaarheid.
Hahn speculeert over de mogelijke oorzaken van deze onpopulairheid:
- De functie is inherent moeilijker te lezen.
- Het is minder bekend bij ontwikkelaars.
- Er kunnen prestatieproblemen zijn.
- De implementatie in talen als JavaScript, Python en Swift is minder elegant dan in talen als Clojure.
Hoewel de auteur zelf een voorkeur heeft voor reduce, geeft hij aan dat hij de code meestal aanpast om sociale wrijving in code reviews te vermijden.
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.
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.