Hittade en gammal anteckning från att jag skrivit mitt första större dataprogram i C. Det var ett textspelsäventyr kallat Slasher (Slasher 2 för att vara noggrann – första versionen skrev jag till miniräknaren TI-80, populär på gymnasiet!). Tror programmet var c:a 5000 rader långt, förmodligen mycket längre än det behövde vara (det var också mitt första C-program!), men det intressanta är anteckningen som kommer här:
När man bygger ett program kommer man till sist fram till en punkt då programmet är så stort att det blir oöverskådligt och att lägga till nya funktioner vore ödesdigert för dess ‘överlevnad’. Slasher är det projekt som kommit närmast detta tillstånd och har faktiskt vid ett flertal tillfällen gått igenom genomgående förändringar vilket varje gång kunde resulterat i att programmet ‘dött’.
/Olof, 18 år
Denna nyckelobservation och utmaning har tagit mig mer än tio år att bestiga. Jag fann lösningen i enhetstesterna!
De ”genomgående förändringarna” jag talar om kallas ”large scale refactorings” på fackspråk. Refaktorisering tycker jag låter humbug – jag föredrar det mera svenska ordet förenkling.
Taggar: programmering, tdd, c, enhetstester