140 likes | 348 Views
Refactoring – Preoblikovanje programske kode. Uroš Grajfoner, Peter Repinc. Gosposvetska 84, 2000 Maribor e-mail: info@odateam.com http://www.odateam.com/. Kaj je preoblikovanje ?. Preoblikovanje je proces spreminjanja programske kode tako, da se obnašanje sistema navzven ne spremeni,
E N D
Refactoring – Preoblikovanje programske kode Uroš Grajfoner, Peter Repinc Gosposvetska 84, 2000 Maribor e-mail: info@odateam.com http://www.odateam.com/ OTS’2000 OdaTeam d.o.o.
Kaj je preoblikovanje ? Preoblikovanje je proces spreminjanjaprogramskekode tako, da se obnašanjesistema navzven nespremeni, spremeni inizboljša(!) pa se notranjastruktura sistema. OTS’2000 OdaTeam d.o.o.
Zakaj preoblikovati ? • Izboljšanje strukture programskega sistema • Lažje razumemo programsko kodo • Lažje najdemo napake • Hitrejše programiranje OTS’2000 OdaTeam d.o.o.
F F P P Kdaj preoblikovati ? • Dodajanje nove funkcionalnosti • Popravljanje napak • “V tretje gre rado” • Ob pregledih kode OTS’2000 OdaTeam d.o.o.
Prepoznavanje “smrdeče” kode • Podvojena programska koda • Predolga metoda • Prevelik razred • Dolg nabor parametrov • Raznolike spremembe • “Poseg s šibrovko” • “Zavidanje lastnosti” • IF in CASE stavki • Zavrnjena zapuščina • ..... OTS’2000 OdaTeam d.o.o.
Koraki preoblikovanja (1) Preoblikovanje Korak 1 Test Korak 2 Test Korak 3 Test OTS’2000 OdaTeam d.o.o.
Koraki preoblikovanja (2) • Sestavljanje metod Izsek metode, Vključitev metode,... • Premiki lastnosti med razredi Premik metode, Premik spremenljivke, Izsek razreda, Odstranjevanje posrednikov,... • Poenostavitve pogojnih izrazov Razstavitev pogoja, Zamenjava pogoja z metodo, Odstranitev kontrolnih zastavic, .... • Poenostavitve klicev metod Preimenovanje metode, Dodajanje parametra, Odstranitev parametra,Parametriziranje metode,... • Obvladovanje generalizacije Spremenljivka gor, Metoda gor, (oboje tudi dol), Izdelava nadrazreda, Izdelava podrazreda,... OTS’2000 OdaTeam d.o.o.
Razred A Metoda MA Metoda MA2 Primer (1. del):Izsek metode Razred A Metoda MA OTS’2000 OdaTeam d.o.o.
Razred A Razred B Metoda MA2 Metoda MB Primer (2. del):Premik k lastniku Razred A Metoda MA2 OTS’2000 OdaTeam d.o.o.
Razred A Razred C Metoda MA Metoda MC Razred D Primer (3. del):Objekt kot parameter Razred A Metoda MA OTS’2000 OdaTeam d.o.o.
Razred A Razred C Razred A Metoda MA Metoda MC Metoda MA Metoda MA2 Razred D Razred B Metoda MB Razred B Razred C Rezultat Primera OTS’2000 OdaTeam d.o.o.
Orodja za preoblikovanje • Koraki preoblikovanja so avtomatizirani • Še hitrejše programiranje • Ni potrebe po vsakokratnem testiranju • Željene lastnosti: hitrost, funkcija “razveljavi” (“undo”), integriranost • Skromna izbira na trgu OTS’2000 OdaTeam d.o.o.
Zaključek • Preoblikovanje – bistven del razvoja programske kode • Komunikacija računalnik – koda – programer • “Vitalnost” sistema • Okrepitev ograjevanja in nedoločenosti (delitev znanja-metod, ločena predstavitev namena in implementacije, izoliranje spremembe, obvladovanje pogojnih izrazov) • Smernice: Postaviti si cilj (“smrad”), končanje pri negotovosti, koraki nazaj (“undo”), delo v parih OTS’2000 OdaTeam d.o.o.
Hvala za pozornost ! OTS’2000 OdaTeam d.o.o.