The Tyranny of Tiny Functions
Common wisdom er at man ikke skal ha for store funksjoner. Om en funksjon blir for stor, del den opp i mindre biter. Eksempelvis så har SonarQube en brain overload funksjon, som sier ifra dersom en funksjon blir for stor.
Men det er ikke alltid tilfelle at dette er best. Vi leser sekvensielt. Om det ikke er helt åpenbart hva en funksjon gjør, er det ikke mulig å lese sekvensielt. Man må hoppe til et helt annet sted. (Inline visning i IDEer kan hjelpe med dette.)
Funksjoner som fungerer som en Konsept Knagg kan være en snarvei til å fange en kompleks algoritme inn i et forståelig konsept, hvor detaljene ikke er viktige.
Men noen ganger kan man ikke beskrive hva en funksjon gjør kun ved hjelp av navnet. Å da måtte hoppe rundt til funksjoner plassert et helt annet sted etterhvert som man prøver å lese koden krever at man holder ekstra mye i hodet samtidig.
Om alt bare står skrevet i funksjonen kan man enklere lese hva hele greia gjør.
Referanser
https://news.ycombinator.com/item?id=25263488
https://copyconstruct.medium.com/small-functions-considered-harmful-91035d316c29