next previous Refactoring och lite mönster kodade i Java Innehåll Vad är refactoring? Ett större refactoringexempel Några mönster kodade i Java OOMPA 2000 Föreläsning 10
previous next 2 Refactoring och lite mer designmönster Vad är refactoring? Definition 1 –Refactoring (som substantiv): är en förändring som av mjukvarans interna struktur som görs för att det skall bli lättare att förstå respektive förändra den, utan att behöva förändra dess observerbara beteende Definition 2 –Refactoring (som verb): att omstrukturera mjukvara genom att göra en serie ”refactorings” utan att för den skull ändra dess observerbara beteende
previous next 3 Refactoring och lite mer designmönster Dom två hattarna När du kodar är det bra att ha (minst) två hattar! –En har du på dig då du lägger till funktionalitet –En har du på dig då du omstrukturerar och ändrar på andra sätt för att koden skall bli bättre/snyggare, dvs gör refactoring
previous next 4 Refactoring och lite mer designmönster Varför bör man göra refactoring? Refactoring förbättrar mjukvarans design –Koden ”ruttnar” annars lätt med tiden Man gör (snabba) kortsiktiga förändringar utan att fullt ut tänka på designen –Med kontinuerlig förbättring av koden behövs vanligen mindre kod för att göra samma sak som om man hade använt ”fulare” kod Refactoring gör att det blir enklare att förstå mjukvaran –Ett syfte med refactoring är att få snyggare kod, så...
previous next 5 Refactoring och lite mer designmönster … Refactoring hjälper dig att hitta fel (buggar) –När man gör refactoring så måste man förstå koden bättre för att kunna designa om den vilket ofta leder till att man hittar buggar Refactoring hjälper dig att programmera snabbare –Kanske lite motstridigt till intuitionen eftersom du måste utföra flera aktiviteter, men i långa loppet ökas produktiviteten då man hela tiden gör refactoring
previous next 6 Refactoring och lite mer designmönster När ska man utföra refactoring? 3-regeln –Inte första gången –Inte andra gången man gör något liknande –Men tredje gången Då du lägger till funktionalitet När du måste fixa en bug Vid kodinspektion
previous next 7 Refactoring och lite mer designmönster Varför fungerar refactoring? Program som är svåra att förstå är svåra att modifiera Program som har logiken duplicerad är svåra att modifiera Programförändringar med ger nytt beteende som kräver förändring av existerande kod är svåra att göra Program med komplicerad ”villkorslogik” är svåra att förändra
previous next 8 Refactoring och lite mer designmönster Nu blir det vanliga OH-bilder Med ett större refactoring-exempel från Fowlers bok ”Refactoring Improving the Design of Existing Code” Med designmönster applicerade i Java-program från Jias bok ”Object-Oriented Software Development Using Java”