Petrovics Péter Patrik (2022) A kódrefaktorálás hatékonyságának mérése C#-ban. Pénzügyi és Számviteli Kar.
PDF
Petrovics_Patrik_JRQH52.pdf Hozzáférés joga: Csak az archívum karbantartója nyithatja meg (titkosított dolgozat - engedéllyel) until 2027. November 10.. Download (1MB) |
|
PDF
Titkositasi Kerelem.pdf Hozzáférés joga: Csak nyilvántartásba vett egyetemi IP címekről nyitható meg Download (577kB) |
|
PDF
BA_O_Petrovics_Patrik.pdf Hozzáférés joga: Csak az archívum karbantartója nyithatja meg (titkosított dolgozat - engedéllyel) until 2027. November 10.. Download (322kB) |
|
PDF
avdhA2-cbea42a3-978a-4cb2-bc98-492e29c83856.pdf Hozzáférés joga: Bizalmas dokumentum (bírálat) Download (417kB) |
|
PDF
Szakdolgozat_bírálat_Petrovics_Patrik_JRQH52.pdf Hozzáférés joga: Bizalmas dokumentum (bírálat) Download (201kB) |
Absztrakt (kivonat)
A kódrefaktorálás ma már a szoftverfejlesztési folyamat szerves részét képezi. Mivel a szoftver karbantartás a szoftverprojektek élettartamuk alatti költségeinek több, mint 80%-át teszik ki, ezért rendkívül fontos jól átlátható és használható kódot írni. A szakdolgozatom célja annak kiderítése, hogy ennek a folyamatnak mérhető-e a hatékonysága különböző szoftvermutatók segítségével. A szakdolgozatom elején bemutattam a refaktorálás rövid történetét. Ezután szemléltettem a refaktorálással járó dilemmákat. Végül szó esett a refaktorálás köztudott előnyeiről, melyek röviden a kód átláthatóságának, struktúrájának, modularitásának és hibaálló képességének növelése és a hátrányairól, melyek a ráfordított erőforrások – pénz és programozók ideje formájában – és az új hibák kialakulásának a lehetősége.Az elméleti összefoglalást követően kiválasztottam azt a hat darab belső szoftver metrikát, amelyek segítségével megvizsgáltam tíz kódrészletet refaktorálás előtt és után. Ezek voltak a karbantarthatósági index, ciklomatikus komplexitás, öröklési mélység, osztálykapcsolások száma, kódsorok száma és a futtatható kódsorok száma. Ezeket a szoftver metrikákat a Visual Studio 2022 segítségével számoltam ki minden esetben, amelynek van egy beépített funkciója erre a célra. A kinyert adatokból dolgoztam.Az eredmények értékelése során az alábbi megállapításokra jutottam. Egyik kiválasztott szoftver metrika sem volt képes minden refaktorálás következtében javulni. A mutatók kifejezetten megbízhatatlanok voltak ebből a szempontból. A legpontosabb mutatónak az osztálykapcsolások száma bizonyult, mely tízből hat esetben pozitív irányba változott és további két esetben nem változott. A legpontatlanabb mutató pedig az öröklődési mélység lett, ez a mutató tízből kilenc esetben nem változott és egyszer pedig javult. A kódsorok számát tekintve a refaktorálásnak vegyes hatása volt, az esetek felében a kódsorok és futtatható kódsorok száma csökkent a másik felében pedig nőtt vagy nem változott. Ez betudható annak, hogy a refaktorálás egyik fő célja az átláthatóság növelése, amely sokszor a kód megfelelő tagolásával és kommentelésével járhat.A másik érdekes fejlemény az volt, hogy a mutatók romlásakor általában jobban változtak a mutatók negatív irányba, mint amennyire javuláskor pozitív irányba. Szerintem ez annak tudható be, hogy túlságosan kicsi volt a mintám és a tíz esetből egy-egy kiugró érték túlságosan befolyásolhatta az átlagokat.Az eredményeket tekintve én arra a konklúzióra jutottam, hogy nem lehetséges a kódrefaktorálást ezekkel a mutatókkal pontosan mérni. Más tanulmányok is jutottak már hasonló következtetésekre. Ezek a mutatók jobban arra használhatóak, hogy monitorozzuk velük a kódbázisunkat és felhívjuk a figyelmünket egy-egy kiugró esetre, amiket utána megvizsgálhatunk és adott esetben refaktorálhatunk. Tehát ezek a mutatók jobban használhatóak úgy nevezett kódszagok és refaktorálási lehetőségek azonosítására, mint magának a kódrefaktorálások hatékonyságának mérésére.
Intézmény
Budapesti Gazdasági Egyetem
Kar
Tanszék
Gazdaságinformatika Tanszék
Tudományterület/tudományág
NEM RÉSZLETEZETT
Szak
Mű típusa: | diplomadolgozat (NEM RÉSZLETEZETT) |
---|---|
Kulcsszavak: | .NET, C#, Code refactoring, Cyclomatic complexity, Feature flags, REST API, Visual Studio |
SWORD Depositor: | Archive User |
Felhasználói azonosító szám (ID): | Archive User |
Rekord készítés dátuma: | 2023. Ápr. 21. 09:44 |
Utolsó módosítás: | 2023. Ápr. 21. 09:44 |
Actions (login required)
Tétel nézet |