Conditional Branching Assistant for C#
Asistent pro podmíněné větvení v C#
bachelor thesis (DEFENDED)
View/ Open
Permanent link
http://hdl.handle.net/20.500.11956/192893Identifiers
Study Information System: 250582
Collections
- Kvalifikační práce [11242]
Author
Advisor
Referee
Ježek, Pavel
Faculty / Institute
Faculty of Mathematics and Physics
Discipline
Computer Science with specialisation in Programming and Software Development
Department
Department of Software Engineering
Date of defense
5. 9. 2024
Publisher
Univerzita Karlova, Matematicko-fyzikální fakultaLanguage
English
Grade
Excellent
Keywords (Czech)
Větvení|Statická analýza|Refactoring|C#|Microsoft Visual Studio 2022|Začínající programátořiKeywords (English)
Branching|Static analysis|Refactoring|C#|Microsoft Visual Studio 2022|Beginner programmersZačátečníci často píší kód s komplikovanými příkazy if, který je obtížný na porozumění, aniž by si uvědomili, že existují i jiné způsoby, jak napsat kód s totožnou funkcionalitou. Existující nástroje na manipulaci s kódem v C# se nesoustředí na začátečníky. Jejich hlavním účelem je úspora času, který by uživatel strávil manuálními úpravami kódu. Vytvořili jsme rozšíření pro Visual Studio a C#, jež navrhuje uživateli konkrétní drobné refaktory a do- poručuje, které úpravy je vhodné aplikovat. Toto rozšíření dále pomáhá uži- vateli porozumět refaktorům díky zvýrazňování v původním kódu i v náhledu refaktorovaného kódu. Toto rozšíření umožňuje uživateli zhodnotit úpravy a rozhodnout, zda se je vyplatí aplikovat. Pokud se uživatel drží našich dopo- ručení, dosáhne kódu, který je snazší na porozumění a udržování.
Convoluted if statements are often the reason why code written by be- ginners is hard to understand, and beginners might not even realize there are other options for writing functionally identical code. Existing code ma- nipulation tools for C# do not focus on beginners. Their main focus is on saving time one would spend manually modifying the code. We developed an extension for Visual Studio and C# that presents the user with concrete small-sized refactoring options and recommends which ones to apply. The extension also helps the user understand the refactors through code highlight- ing in both the old and the previewed refactored code. The extension allows the user to weigh the changes themselves and decide if they are worth it. If they follow our recommendations, this results in more easily understandable and more maintainable code.