“Refactoring - Kódjavítás újratervezéssel"
Címkék: kód programozás fejlesztés refactoring Java TDD code kata refaktor többalakúság refaktorálás kódjavítás újratervezéssel
2022.12.29. 11:40
Szívesen nézek magyar nyelvű előadásokat érdekes témákról. Mégis a magyarom a legerősebb. Az alapozó előadásokat jobban megértem magyarul.Így futottam bele a refaktorálásról szólóba:
A könyv szerkezete szokatlan. Az alapozó ismeretek bemutatása helyett egy példával kezdődik. Ugyan ez a példa, nem definiáltam kata, de a lépésenkénti magyarázatok és a beillesztett kódok miatt követhető, végrehajtható úgy ahogyan az a katáknál szokásos.Végig is csináltam.
Mivel a kód részlet szerepét, feladatát nem ismertem, a folyamat erősen hasonlít olyan esetre, amikor más kódját kell karbantartani.
Ilyenkor az első lépés megérteni mit csinál a kód. Persze, ha már kitaláltuk, jó lenne valahogy rögzíteni, hiszem ha nem holnap kell újra hozzányúlni, lehet kezdeni előröl az egészet.
Kínálkozik a kommentelés lehetősége. A Clean Code elvek szerint a "miértek" kommentbe rögzítése elfogadott, de általánosságban kerülni kell a kommentezést. Akkor marad a kód emberi fogyasztásra alkalmassá tétele. Ha "csak" a változók és eljárások nevét változtatjuk beszédessé, már elkezdtünk refraktorálni.
A refaktorálás első lépéseként a hosszabb eljárásokat érdemes logikailag kisebb, beszédes nevű eljárások kiemelésével felbontani. Így jó esetben az eredeti eljárás a tennivalók felsorolására esik össze.
Ha a kiemelt eljárás gyakorta hivatkozik más osztály adott példányára, akkor annak abban az osztályban van a helye. Át is kell helyezni oda.
Magam is alkalmaztam a polimorfiát, ott ahol azonos funkciójú, de eltérő kivitelezésű perifériát kellet illeszteni a rendszerbe. Ismerem annak lehetőségét, hogy a típusosságból eredően a polimorf osztályok egyedei eltérően viselkedjenek az adott szituációban. Nem lepett meg, hogy ez kihasználható elágaztatás kiváltására, de nem emlékszem, hogy használtam volna már.
Sokat tanultam a példából. Az eljárásokat többnyire ismertem. De volt olyan amit még a gyakorlatban nem próbáltam.
Ezt a szabadon elérhető anyagot találtam a GitHub-on.
Ajánlom a könyvet mindenkinek. Az első kiadás úgy 20 éve jelent meg 1.1-es Java kódokkal. A második néhány éve javascript kódokkal.
Most visszatérek az olvasáshoz.
A bejegyzés trackback címe:
https://pharsan.blog.hu/api/trackback/id/tr3218012810
Kommentek:
A hozzászólások a vonatkozó jogszabályok értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a Felhasználási feltételekben és az adatvédelmi tájékoztatóban.
Nincsenek hozzászólások.