Quelltext-Audits und -Metriken
Nach oben zu Arbeitsschritte bei der Projektentwicklung
Quelltext-Audits und -Metriken sind Qualitätssicherungsfunktionen (QS). Sie stellen Maßzahlen für die Qualität des Quellcodes in Ihren Projekten bereit.
Sie können:
- Quellcode-Audits für Delphi und C++-Projekte anwenden.
- Hinweis: C++Builder unterstützt auf 64-Bit-iOS-Geräten keine Audits.
- Quellcode-Metriken nur für Delphi-Projekte anwenden.
Themen
- Qualitätssicherungsfunktionen
- Arbeiten mit Audits
- Arbeiten mit Metriken
- GUI für die Qualitätssicherung
- Liste der C++-Audits:
- Core:
- AdjustedReturnValue – Funktionsaufruf gibt nicht den erwarteten Wert zurück
- AttributeNonNull
- CastSize
- CastToStruct – Umwandlung eines Nicht-struct- in einen struct-Zeiger
- FixedAddr – Zuweisung einer festen Adresse zu einem Zeiger
- PointerArithm
- PointerSub – Ermitteln der Größe durch Zeigersubtraktion
- SizeofPtr – Verwendung von sizeof() für einen Zeigertyp
- NullDereference
- DivideZero – Überprüfung auf Division durch Null
- UndefReturn
- Branch
- ArraySubscript
- Assign
- StackAddressEscape
- UndefinedBinaryOperatorResult
- VLASize – Array mit variabler Länge mit undefinierter Größe
- NoReturnFunctions – Funktionen, die nicht zurückkehren
- Sicherheit:
- "Toter" Quellcode:
- Sonstiges:
- CFPV – Vergleich von Gleitkommawerten
- CVFCD – Aufrufen von virtuellen Funktionen aus Konstruktoren und dem Destruktor
- DCPC – Definieren des Kopierkonstruktors
- IVNU – Iterationsvariable wird im Schleifenrumpf nicht verwendet
- OPM – Überschreiben der "private"-Methode
- RINF – Neudefinition einer geerbten nicht-virtuellen Funktion
- SFS – Verdächtige for-Anweisung
- SSSIDC – switch-Anweisung sollte den default-Fall enthalten
- NC – Namenskonventionen
- OROT – Überschreiben von zusammengehörigen Operatoren als Ganzes
- PVD – Bereitstellen eines virtuellen Destruktors
- UCSC – Verwendung von Typumwandlungen im C++-Stil
- PMSNT – Methoden mit demselben Namen zusammen platzieren
- RCD – Eingeschränkte Klassendeklaration
- ASO - Assignment operator
- CIUCFL - Complex Initialization or Update Clause in for Loop
- CIL - Constructor Initialization List
- Core: