Untersuchen der Codequalität
Die Codequalität sollte nicht durch persönliche Meinungen gemessen werden. Ein Entwickler, der Code schreibt, würde seinen eigenen Code sehr bewerten, aber das ist keine zuverlässige Möglichkeit, die Codequalität zu messen. Verschiedene Teams verwenden möglicherweise unterschiedliche Definitionen basierend auf dem, was sie erstellen.
Code, der als qualitativ hochwertigen Code gilt, kann für einen Entwickler von Autosoftware und für einen Webanwendungsentwickler etwas anderes bedeuten.
Die Codequalität ist wichtig, da sie sich auf die gesamte Softwarequalität auswirkt.
Eine Studie zu "SoftwareFehler Ursprünge und Entfernungsmethoden" ergab, dass einzelne Programmierer weniger als 50% von Fehlern in ihrer eigenen Software finden. Die meisten Testformen finden nur 35% von Fehlern. Dies macht es schwierig, Qualität zu bestimmen.
Es gibt fünf wichtige Merkmale, die für einen höheren Qualitätscode gemessen werden können:
Zuverlässigkeit
Zuverlässigkeit misst, wie wahrscheinlich ein System über einen bestimmten Zeitraum ohne Fehler ausgeführt werden soll. Dies bezieht sich auf die Anzahl der Fehler und die Verfügbarkeit der Software. Sie können mehrere Fehler messen, indem Sie ein statisches Analysetool ausführen.
Die Softwareverfügbarkeit kann mithilfe der mittleren Zeit zwischen Ausfällen (Mean Time Between Failures, MTBF) gemessen werden.
Niedrige Fehleranzahlen sind entscheidend für die Entwicklung von zuverlässigem Code.
Wartbarkeit
Die Wartbarkeit misst, wie einfach Software gewartet werden kann. Sie bezieht sich auf die Größe, Konsistenz, Struktur und Komplexität des Codes. Die Sicherstellung, dass Quellcode verwaltet werden kann, hängt von mehreren Faktoren ab, z. B. Testbarkeit und Verständlichkeit.
Sie können keine einzelne Metrik verwenden, um die Wartbarkeit sicherzustellen.
Einige Metriken, die Sie möglicherweise berücksichtigen, um die Wartbarkeit zu verbessern, sind die Anzahl der Stilwarnungen und Halstead-Komplexitätsmetriken.
Sowohl Automatisierung als auch menschliche Prüfer sind für die Entwicklung von wartungsfähigem Code wichtig.
Prüfbarkeit
Die Testbarkeit misst, wie gut die Software Testbemühungen unterstützt. Es hängt davon ab, wie gut Sie Tests unter anderem steuern, beobachten, isolieren und automatisieren können.
Die Testbarkeit kann daran gemessen werden, wie viele Testfälle Sie benötigen, um potenzielle Fehler im System zu finden.
Die Größe und Komplexität der Software kann sich auf die Testbarkeit auswirken.
Die Anwendung von Methoden auf Codeebene (etwa zyklomatische Komplexität) kann Ihnen daher helfen, die Testbarkeit der Komponente zu verbessern.
Portabilität
Die Portabilität misst, wie gut dieselbe Software in verschiedenen Umgebungen einsetzbar ist. Dies bezieht sich auf die Plattformunabhängigkeit.
Es gibt kein bestimmtes Measure für Portabilität. Es gibt jedoch mehrere Möglichkeiten, portierbaren Code sicherzustellen.
Es ist wichtig, code regelmäßig auf verschiedenen Plattformen zu testen, anstatt bis zum Ende der Entwicklung zu warten.
Es ist auch empfehlenswert, die Compilerwarnebenen so hoch wie möglich festzulegen und mindestens zwei Compiler zu verwenden.
Das Folgen eines Codierungsstandard hilft auch bei der Portabilität.
Wiederverwendbarkeit
Die Wiederverwendbarkeit misst, ob vorhandene Ressourcen (z. B. Code) erneut verwendet werden können.
Ressourcen lassen sich einfacher wiederverwenden, wenn sie Merkmale wie Modularität oder lose Kopplung aufweisen.
Die Wiederverwendbarkeit kann anhand der Anzahl der Abhängigkeiten gemessen werden.
Das Ausführen eines statischen Analysetools kann Ihnen helfen, diese Abhängigkeiten zu identifizieren.