Metoders längd och antal
I dagens Computer Sweden finns en fråga till experten på systemutveckling, Kjell Almgren, om “hur många rader kod en metod bör innehålla”, samt “hur många metoder en klass bör ha”. Jag kommenterade såhär:
För mig handlar denna fråga först och främst om läsbarhet och överskådlighet. Därför tycker jag det är märkligt att hela ditt svar handlar om prestanda.
En metod bör, tycker jag, inte vara längre än att den är begriplig. Vad en metod gör ska enkelt gå att avgöra med vägledning av namnet och att ögna igenom dess kodrader.
Likaledes handlar antalet metoder i en klass om överskådlighet. Med för många metoder är det svårare att avgöra klassens syfte.
I förlängningen handlar det om design, om att varje metod ska ha sitt specifika syfte, likväl som varje klass. Man får ställa sig frågor om huruvida något verkligen hör till en viss metod, eller om det borde vara en egen metod, eller om det rentav hör till en annan klass. År man i det sammanhanget noga med att undvika duplicering av kod blir, enligt min erfarenhet, metoderna nästan automatiskt korta.
Två böcker jag tycker förmedlar detta riktigt bra är Martin Fowlers Refactoring samt The Pragmatic Programmer av Dave Thomas och Andy Hunt.