NashTech

Der Wert von Code Reviews

nashtech-code-review

Mit der Umstellung der Softwareentwicklung von Wasserfall-Workflows auf agile und iterative Praktiken wächst der Eindruck, dass die Überprüfung von Artefakten (Dokumenten und Code) nicht mehr so wichtig ist – wir reagieren auf Veränderungen, anstatt einem Plan zu folgen!

Wenn es um Softwarequalität geht, denken wir alle, dass wir den Unterschied zwischen gutem und schlechtem Code kennen. Kunden bitten uns oft um einmalige Code-Reviews, typischerweise bei der Übernahme einer Codebasis oder wenn ein neuer CTO kommt!

Eine einmalige Codeüberprüfung ist zwar nützlich, aber der eigentliche Wert regelmäßiger Codeüberprüfungen liegt in der Aufrechterhaltung der langfristigen Qualität der Codebasis. Im Folgenden erläutern wir, wie wir Codequalität definieren, wie wir sie überprüfen und messen und schließlich, wie dies mit dem technischen Schuldenmanagement zusammenhängt.

Was ist Softwarequalität?

Im Zusammenhang mit der Softwareentwicklung kann die Softwarequalität in zwei verschiedene Bereiche unterteilt werden:

  • Die funktionale Qualität von Software spiegelt wider, wie gut sie einem bestimmten Design entspricht, das auf funktionalen Anforderungen oder Spezifikationen basiert. Dieses Attribut kann auch als die Zweckmäßigkeit einer Software beschrieben werden. Die funktionale Qualität wird in der Regel durch Softwaretests durchgesetzt und gemessen.
  • Die strukturelle Qualität von Software bezieht sich darauf, wie sie nicht-funktionale Anforderungen erfüllt, die die Erfüllung der funktionalen Anforderungen unterstützen, wie z. B. Robustheit oder Wartbarkeit, der Grad, in dem die Software korrekt produziert wurde. Die strukturelle Qualität wird durch die Analyse der Softwarestruktur, des Quellcodes, der Bibliotheken, der Architekturstandards und der verwendeten Entwurfsmuster bewertet. Dieser Artikel befasst sich mit der Strukturqualität von Software.

Die Bedeutung von Code Reviews

Während eine einmalige Codeüberprüfung eine Momentaufnahme der Codequalität darstellen kann, ist ein effektiver Codeüberprüfungsprozess, der auf den Softwareentwicklungs- oder Wartungsansatz abgestimmt ist, der Schlüssel zur Gewährleistung der langfristigen Qualität der Codebasis. Shift Left ist eine Praxis, die darauf abzielt, Fehler in einem frühen Stadium des Softwareentwicklungsprozesses zu finden und zu vermeiden. Wie das Testen sind auch Code-Reviews von größter Bedeutung, um guten Code zu gewährleisten, Probleme so früh wie möglich zu lokalisieren und die Konsistenz und Zuverlässigkeit der Software sicherzustellen. Je früher Sie Fehler finden, desto schneller, einfacher und kostengünstiger lassen sie sich beheben.

SmartBear Software hat eine weltweite Online-Umfrage
Umfrage
im Jahr 2020 durch. Die Befragten bewerteten Code-Reviews als das beste Mittel zur Verbesserung der Codequalität.

Darüber hinaus gaben mehr als 80 % der befragten Entwickler an, dass die Zufriedenheit mit den Code-Review-Prozessen in direktem Zusammenhang mit dem Vertrauen in die Gesamtqualität der veröffentlichten Software steht.

Code-Reviews können auf unterschiedliche Weise durchgeführt werden, z. B. durch manuelle Reviews, Pair Programming, Mentoring und die Verwendung gemeinsamer Dokumente zur einfachen Überprüfung. All diese Methoden sind zwar wirksam, können aber sehr zeitaufwändig sein – hier kommen die Werkzeuge ins Spiel.

Verwendung von Tools zur Überprüfung der Codequalität

Code-Review-Tools bieten eine Möglichkeit, den Prozess zu automatisieren, und unterstützen wie die Testautomatisierung häufigere und frühere Reviews. Das von uns am häufigsten verwendete Tool ist SonarQube.

Codequalität und Sicherheit ähneln sich insofern, als beide Arten von Problemen mit statischer Analyse identifiziert werden können. Statische Anwendungstests (Static Application Security Testing, SAST) dienen der Analyse von Quellcode oder kompilierten Versionen von Code, um Fehler, Schwachstellen und Code Smells zu finden.

Mit solchen Tools können unsere Software-Ingenieure Sicherheitsschwachstellen (unter Verwendung der OWASP Top Ten) frühzeitig und häufig in Echtzeit entdecken, während sie Code schreiben. Diese Tools sind jetzt in die von uns verwendeten Entwicklungsumgebungen (IDE) integriert, wie z. B. Visual Studio.

Statische Code-Review-Tools helfen den Entwicklern auch dabei, die strukturelle Qualität zu verstehen und die Codierungsstandards einzuhalten. Die Verwendung von Werkzeugen für die kontinuierliche Integration ermöglicht die automatische Auslösung von Überprüfungen anhand von Codierungsstandards und Code Smells. Auf diese Weise erhalten die Entwickler ein unmittelbares Feedback, wodurch die Wahrscheinlichkeit, dass Fehler und Bugs in die Produktion gelangen, verringert wird.

Verwaltung der technischen Schulden

Einer der Vorteile der Produktion von hochwertigem Code von der ersten Iteration an ist die Reduzierung der technischen Schulden. Die Erstellung von qualitativ hochwertigem Code kann anfangs mehr Zeit in Anspruch nehmen, führt aber zu weniger Fehlerkorrekturen und Refactoring und kann die langfristige Belastung durch technische Schulden verringern oder beseitigen. Hochwertiger Code macht die langfristige Entwicklung und Wartung einfacher und (was für die Kunden entscheidend ist) billiger.

Unser Ansatz zur Verbesserung der Codequalität besteht darin, technische Schulden kontinuierlich zu verfolgen und zu priorisieren, damit wir die wichtigsten Teile der Codebasis des Kunden überarbeiten können.

Wollen Sie mehr wissen?


Erfahren Sie mehr über den



NashTech-Ansatz



oder vereinbaren Sie einen Gesprächstermin, um zu besprechen, wie wir Ihnen helfen können, E-Mail



info@nashtechglobal.com



.

Empfohlene Artikel

Vom Überwinden von Widrigkeiten zum Reiten der Welle der digitalen Transformation im Bildungssektor

Erfahren Sie, wie NashTech dem Trinity College London hilft, die Welle der digitalen Transformation im Bildungssektor zu reiten

AWS
AWS
Migration und Modernisierung der virtuellen Lernumgebung auf AWS für ein verbessertes Erlebnis

Das migrierte und modernisierte Moodle Infrastruktur bedeutet, dass The Open Die Universität kann nun folgende Vorteile nutzen Cloud-Vorteile.

Ein Einblick in eine einjährige RPA-Reise mit einem führenden digitalen Werbedienst

Ein Einblick in eine einjährige RPA-Reise mit einem führenden Anbieter von digitalen Werbedienstleistungen und -lösungen und wie NashTech ihnen geholfen hat.

Wir helfen Ihnen dabei, Ihre technologische Entwicklung zu verstehen, sich in der komplexen Welt der Daten zurechtzufinden, Geschäftsprozesse zu digitalisieren oder eine nahtlose Benutzererfahrung zu bieten.

Nach oben scrollen
BEISPIEL TITEL
Muster kurz
Musterüberschrift lorem isump
DE FREE WHITEPAPER
Erschließen Sie die Macht des Wissens mit unserem neuen Whitepaper
“Verbesserung der Benutzererfahrung für Produktbesitzer”
KOSTENLOSES WHITEPAPER
Erschließen Sie die Macht des Wissens mit unserem neuen Whitepaper
"Verbesserte Benutzererfahrung für Produktverantwortliche"