A kódrefaktorálás hatékonyságának mérése C#-ban

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.

[thumbnail of Petrovics_Patrik_JRQH52.pdf] 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)
[thumbnail of Titkositasi Kerelem.pdf] PDF
Titkositasi Kerelem.pdf
Hozzáférés joga: Csak nyilvántartásba vett egyetemi IP címekről nyitható meg

Download (577kB)
[thumbnail of BA_O_Petrovics_Patrik.pdf] 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)
[thumbnail of avdhA2-cbea42a3-978a-4cb2-bc98-492e29c83856.pdf] PDF
avdhA2-cbea42a3-978a-4cb2-bc98-492e29c83856.pdf
Hozzáférés joga: Bizalmas dokumentum (bírálat)

Download (417kB)
[thumbnail of Szakdolgozat_bírálat_Petrovics_Patrik_JRQH52.pdf] 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

Pénzügyi és Számviteli Kar

Tanszék

Gazdaságinformatika Tanszék

Tudományterület/tudományág

NEM RÉSZLETEZETT

Szak

Gazdaságinformatikus

Konzulens(ek)

Konzulens neve
Konzulens típusa
Beosztás, tudományos fokozat, intézmény
Email
Dobos Gyula
Külső
NEM RÉSZLETEZETT
NEM RÉSZLETEZETT
Kaderják Gyula
Belső
Mesteroktató; Alkalmazott Kvantitatív Módszertan Tanszék; PSZK

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 Tétel nézet