Template
Updated Documentation
This commit is contained in:
@@ -8,6 +8,9 @@ Stelle Deiner Wahl auf dem Computer.
|
||||
angegeben. Unter Windows kannst Du am Anfang des Befehles das ./mvnw durch mvnw
|
||||
ersetzen.
|
||||
|
||||
**Hinweis**: Die Befehle müssen im Hauptverzeichnis des Projekts, in dem auch
|
||||
die pom.xml ist, ausgeführt werden.
|
||||
|
||||
## Wie kannst Du das Projekt nutzen
|
||||
|
||||
### Start der Anwendung von der Kommandozeile
|
||||
|
||||
@@ -0,0 +1,71 @@
|
||||
# Statische Codeanalyse
|
||||
|
||||
Statische Codeanalyse ist ein unerlässliches Werkzeug im Softwareentwicklungsprozess,
|
||||
das dazu dient, Codequalität zu sichern und Fehler frühzeitig zu erkennen, bevor sie in
|
||||
Produktion gehen. Sie analysiert den Quellcode auf potenzielle Fehler, ohne das Programm
|
||||
auszuführen. Diese Technik ist besonders nützlich, um gängige Fehler wie Syntaxfehler,
|
||||
Typinkonsistenzen oder ungenutzte Variablen aufzuspüren.
|
||||
|
||||
Der Hauptvorteil der statischen Codeanalyse liegt in ihrer Fähigkeit, komplexe und schwer
|
||||
zu findende Fehler zu identifizieren, die während der Laufzeit schwer zu diagnostizieren
|
||||
sind. Sie verbessert die Code-Sicherheit, indem sie Schwachstellen aufdeckt, die zu
|
||||
Sicherheitslücken führen können, wie z.B. Buffer Overflows oder SQL-Injection. Darüber
|
||||
hinaus unterstützt sie die Einhaltung von Kodierungsstandards und verbessert die Lesbarkeit
|
||||
sowie Wartbarkeit des Codes.
|
||||
|
||||
Die Implementierung einer statischen Analyse in den Entwicklungszyklus ermöglicht es
|
||||
Entwicklerteams, effizienter zu arbeiten, da viele Fehler behoben werden können, bevor sie
|
||||
überhaupt in den Testprozess gelangen. Dies spart Zeit und Ressourcen in späteren
|
||||
Entwicklungsphasen und führt zu einer insgesamt höheren Softwarequalität.
|
||||
|
||||
## Tools zur statischen Codeanalyse
|
||||
|
||||
### Sonarlint
|
||||
SonarLint ist ein leistungsstarkes Plug-in für die statische Codeanalyse, das
|
||||
für eine Vielzahl der am weitesten verbreiteten Entwicklungsumgebungen
|
||||
verfügbar ist, darunter IDEs wie Eclipse, Visual Studio, IntelliJ IDEA und
|
||||
Visual Studio Code. Dies ermöglicht es Entwicklern, Code-Qualitätsprobleme
|
||||
direkt während der Entwicklung zu identifizieren und zu beheben, unabhängig
|
||||
von der verwendeten Plattform.
|
||||
|
||||
Die Stärke von SonarLint liegt in seiner Fähigkeit, präzise und relevante
|
||||
Ergebnisse zu liefern, was es zu einem wertvollen Werkzeug für
|
||||
Softwareentwickler macht, die die Qualität ihrer Codebasis verbessern möchten.
|
||||
Die Analyseergebnisse sind in der Regel sehr genau und helfen, Fehler
|
||||
frühzeitig im Entwicklungsprozess zu erkennen und zu korrigieren.
|
||||
|
||||
SonarLint wird von SonarSource bereitgestellt, dem Unternehmen, das auch die
|
||||
beliebte Code-Qualitätsplattform SonarQube entwickelt hat. Es ist unter einer
|
||||
Open-Source-Lizenz verfügbar, was bedeutet, dass es kostenlos genutzt werden
|
||||
kann, sowohl in kommerziellen als auch in nicht-kommerziellen Projekten.
|
||||
Diese Lizenzierung macht SonarLint besonders attraktiv für Entwickler und
|
||||
Organisationen, die eine kosteneffektive Lösung zur Verbesserung ihrer
|
||||
Code-Qualität suchen.
|
||||
|
||||
### PMD
|
||||
|
||||
PMD ist ein beliebtes Tool für die statische Codeanalyse, das speziell darauf
|
||||
ausgelegt ist, im Build-Prozess automatisch integriert zu werden. Dies
|
||||
ermöglicht es, PMD nahtlos in kontinuierliche Integrationsumgebungen und auf
|
||||
Buildservern zu verwenden. Durch seine Integration in den Build-Prozess kann
|
||||
PMD automatisch Codeanalysen durchführen, sobald der Code kompiliert wird,
|
||||
was die Identifikation und Behebung von Codequalitätsproblemen effizienter
|
||||
gestaltet. Dies macht es zu einem idealen Werkzeug für Entwicklerteams, die
|
||||
eine kontinuierliche Überwachung und Verbesserung der Codequalität
|
||||
sicherstellen möchten.
|
||||
|
||||
### SpotBugs
|
||||
|
||||
SpotBugs ist ein fortschrittliches Werkzeug zur statischen Codeanalyse, das
|
||||
speziell für die Integration in den Build-Prozess konzipiert ist, ähnlich wie
|
||||
PMD, jedoch mit erweiterten Funktionen zur Erkennung potenzieller Fehler. Ein
|
||||
besonderes Merkmal von SpotBugs ist die Unterstützung von Null-Überprüfungen
|
||||
durch Annotationen wie @Nullable, die PMD nicht bietet. Diese Funktionalität
|
||||
ermöglicht es Entwicklern, explizit anzugeben, wo Nullwerte erwartet werden,
|
||||
was die Fähigkeit des Tools erhöht, Nullzeigerausnahmen zu erkennen, bevor
|
||||
der Code bereitgestellt wird. Wie PMD kann auch SpotBugs nahtlos in
|
||||
kontinuierliche Integrationsumgebungen und auf Buildservern integriert werden,
|
||||
was den Prozess der Qualitätskontrolle des Codes während der Kompilierung
|
||||
automatisiert. Diese Integration hilft Entwicklungsteams, durch
|
||||
kontinuierliche Bewertungen und Verbesserungen einen hohen Standard der
|
||||
Codequalität aufrechtzuerhalten.
|
||||
Reference in New Issue
Block a user