Refaktorera en annan grupps kod
Torsdag den 14:e januari 2021
Tidsplan:
- 9:30 start
- 15:00 samling och snak om typiska problem i har rakat på
I denna workshop ska ni också jobba med en annan grupps projekt.
Under dagen är det tanken att ni refaktorera koden för en annan grupp. När man refaktorera kan man göra det realtivt systmatisk, så tanken är att ni tar utgångpunkt i “31 Days of Refactoring”, dock är hela listan lång, så fokusera enbart med dom 8 punkt som är listat här under. Primäre fokus ska vara på C# koden i APIet.
Ni får en branch (refactor-gX) som den som det är tänkt att ni jobbar emot. När ni är klara gör en pull request.
Vem gör vad (samma som sist):
- Grupp 1 refakturera Grupp 4 - branch refactor-g1 från main
- Grupp 2 refakturera Grupp 1 - branch refactor-g2 från main
- Grupp 3 refakturera Grupp 5 - branch refactor-g3 från main
- Grupp 4 refakturera Grupp 3 - branch refactor-g4 från main
- Grupp 5 refakturera Grupp 2 - branch refactor-g5 från main
Hur kommer ni på gång:
- Pull koden till eran lokala dator
- Kör alla enhetstestar (säkerställ att dom är gröna)
- Kör projektet lokalt (för att se att det funkar)
- Påbörja refaktorering av API ut ifrån listen härunder (day 1 -> 7 + 30)
- Medan ni refaktora notera följande:
- Är der något specielt som har har fixat ett flertal gångar
- Medan ni refaktora titta efter följande:
- Potentiella säkerhets problem, gör i steg ett en kommentar i koden runt detta
- Ställen vart man enkelt kunna lägga till enhetstestar
- Det är såklart tillåten att implementera enhetstestar
Om ni går är “klara”:
- Försätt med andra delar av applikationen (web, javascript)
- Försätt med alla dagar (8 till 31)
31 Days of Refactoring
Full blogg serie: 31 Days of Refactoring
Boken: 31 Days of Refactoring - Useful refactoring techniques you have to know
Refactoring is an integral part of continually improving your code while it moves forward through time. Without refactoring you accrue technical debt, forget what portions of code do and create code that is resistant to any form of testing. It is an easy concept to get started with and opens the door to much better practices such as unit testing, shared code ownership and more reliable, bug-free code in general.
- Day 1 : Encapsulate Collection
- Day 2 : Move Method
- Day 3 : Pull Up Method
- Day 4 : Push Down Method
- Day 5 : Pull Up Field
- Day 6 : Push Down Field
- Day 7 : Rename (method, class, parameter)
- Day 30 : Return ASAP
Tools
Man kan få hjälp från verktyg som StyleCop: