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

Elmentve itt :
Bibliográfiai részletek
Szerző: Petrovics Péter Patrik
További közreműködők: Dobos Gyula
Kaderják Gyula
Dokumentumtípus: Diplomadolgozat
Kulcsszavak:.NET
C#
Code refactoring
Cyclomatic complexity
Feature flags
REST API
Visual Studio
Online Access:http://dolgozattar.uni-bge.hu/44402

MARC

LEADER 00000nta a2200000 i 4500
001 dolg44402
005 20230421094444.0
008 230421suuuu hu om 000 hun d
040 |a BGE Dolgozattár Repozitórium  |b hun 
041 |a hu 
100 1 |a Petrovics Péter Patrik 
245 1 2 |a A kódrefaktorálás hatékonyságának mérése C#-ban  |c Petrovics Péter Patrik  |h [elektronikus dokumentum] 
520 3 |a 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. 
695 |a .NET 
695 |a C# 
695 |a Code refactoring 
695 |a Cyclomatic complexity 
695 |a Feature flags 
695 |a REST API 
695 |a Visual Studio 
700 1 |a Dobos Gyula  |e ths 
700 1 |a Kaderják Gyula  |e ths 
856 4 0 |u http://dolgozattar.uni-bge.hu/44402/1/Petrovics_Patrik_JRQH52.pdf  |z Dokumentum-elérés 
856 4 0 |u http://dolgozattar.uni-bge.hu/44402/2/Titkositasi%20Kerelem.pdf  |z Dokumentum-elérés 
856 4 0 |u http://dolgozattar.uni-bge.hu/44402/3/BA_O_Petrovics_Patrik.pdf  |z Dokumentum-elérés 
856 4 0 |u http://dolgozattar.uni-bge.hu/44402/4/avdhA2-cbea42a3-978a-4cb2-bc98-492e29c83856.pdf  |z Dokumentum-elérés 
856 4 0 |u http://dolgozattar.uni-bge.hu/44402/5/Szakdolgozat_b%C3%ADr%C3%A1lat_Petrovics_Patrik_JRQH52.pdf  |z Dokumentum-elérés