Automatisierte Analyse von Clean-Code Regeln mit IDE-Plugins

Fuhrer, Rafael and Schneider, Pascal (2022) Automatisierte Analyse von Clean-Code Regeln mit IDE-Plugins. Other thesis, OST Ostschweizer Fachhochschule.

[thumbnail of FS 2022-BA-EP-Fuhrer-Schneider-Automatisierte Analyse von Clean-Code Regeln mit IDE-Plugins.pdf] Text
FS 2022-BA-EP-Fuhrer-Schneider-Automatisierte Analyse von Clean-Code Regeln mit IDE-Plugins.pdf - Supplemental Material

Download (2MB)

Abstract

Clean Code - sauber geschriebener Quelltext - ist ein elementarer Bestandteil der Softwarequalität. Man versteht darunter, dass Code gut lesbar, sauber strukturiert und einfach verständlich sein soll. Clean Code Prinzipien sollten bei jedem Softwareprojekt eine hohe Priorität geniessen, da sie vor allem die Wartbarkeit und die Erweiterbarkeit begünstigen.

Während unserer Studienarbeit haben wir einen Prototyp eines Plugins für die Visual Studio Code IDE entwickelt, welches geschriebenen Code auf die Einhaltung von Clean Code Prinzipien prüft. Dieser war in der Lage Quelltext gegen ein begrenztes Set an Regeln zu prüfen und Verstösse in der IDE farbig hervorzuheben, damit EntwicklerInnen diese Clean Code Prinzipien von Beginn weg einhalten und aufwändige Nachbesserungen vermeiden. Im Rahmen unserer Bachelorarbeit haben wir den Prototyp wieder aufgegriffen, mit dem Ziel ihn weiterzuentwickeln und als Open Source Projekt zu veröffentlichen. Dabei wurde die Architektur vom clientseitigen Plugin zum funktionelleren Language Server Plugin verändert, sowie der Satz an Clean Code Regeln die überprüft werden erweitert. Sämtliche Komponenten sind darauf ausgelegt, dass sie einfach ausgebaut werden können.

Vorbereitend für diese Weiterentwicklung haben wir unser Wissen über den Clean Code Begriff durch Literaturrecherchen vertieft. Zusätzlich stellten wir für die Veröffentlichung als Open Source Projekt Recherche bezüglich Lizenzbedingungen, Beitragsrichtlinien, Verhaltenskodex und benötigter Dokumentation an.

Mit der Durchführung und Auswertung von Nutzertests, bei denen die Testpersonen über unterschiedliche Fähigkeitsniveaus in der Programmierung und Wissen über die Clean Code Prinzipien verfügen, konnten wir das Plugin um einige nutzerrelevante Funktionen erweitern. Dadurch stehen nun eine Black- und Whitelist zur Verfügung und über ein Konfigurationsfile können einzelne Regeln deaktiviert, sowie weitere Feineinstellungen vorgenommen werden.

Mit der Veröffentlichung des Plugins als eigenständiges Open Source Projekt haben wir die Grundlage für ein Tool geschaffen, welches mit Hilfe der weltweiten Gemeinschaft um weitere Programmiersprachen, sowie Clean Code Regeln wachsen kann und sich langfristig als hilfreiches Werkzeug gegen schlechten Quellcode erweisen könnte.

Item Type: Thesis (Other)
Subjects: Topics > Software > Optimization
Area of Application > Development Tools
Technologies > Programming Languages > TypeScript
Metatags > IFS (Institute for Software)
Divisions: Bachelor of Science FHO in Informatik > Bachelor Thesis
Depositing User: OST Deposit User
Contributors:
Contribution
Name
Email
Thesis advisor
Loch, Frieder
UNSPECIFIED
Date Deposited: 19 Sep 2022 07:37
Last Modified: 19 Sep 2022 07:37
URI: https://eprints.ost.ch/id/eprint/1050

Actions (login required)

View Item
View Item