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:
Gémes Tamásman office worker Társalapító és CTO Wyze Fintech Startup Studio előadása a Szent-Györgyi Albert Agóra Informatórium-ban Clean Code: Refaktoráláscímmel

Az előadás Martin Fowler "Refactoring - Kódjavítás újratervezéssel" művét követi. A bejegyzés címét innen kölcsönöztem.
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/tr8918012810

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.
süti beállítások módosítása