AP2_FIAE - Softwarequalität - Implementierung und Coding

Deck: AP2_FIAE Kategorie: Softwarequalität Subkategorie: Implementierung und Coding Anzahl Karten: 27


Was sind Coding Standards?::Coding Standards sind Richtlinien für die Formatierung und den Stil des Programmiercodes.

Warum sind Coding Standards wichtig?::Coding Standards dienen dazu, den Code lesbar, wartbar und konsistent innerhalb eines Projekts oder über Projekte hinweg zu halten.

Wie macht man den Code für andere Entwickler leichter verständlich?::Durch die Einhaltung von Coding Standards wird der Code für andere Entwickler leichter verständlich.

Wie können Coding Standards zur Fehlerreduzierung beitragen?::Einheitliche Patterns und Praktiken, die durch Coding Standards vorgegeben werden, minimieren die Einführung von Fehlern.

Wie fördern Coding Standards die Effizienz?::Coding Standards vereinfachen die Zusammenarbeit in Teams und beschleunigen die Einarbeitung neuer Teammitglieder.

Wie helfen Coding Standards dabei, die Codequalität zu wahren?::Coding Standards helfen dabei, hohe Qualitätsstandards zu wahren.

Wie setzt man einen Coding Standard ein?::Man wählt einen allgemein anerkannten Standard oder erstellt einen angepassten Standard, der auf die Bedürfnisse des Projekts zugeschnitten ist. Dann integriert man Tools wie Linter und Formatter in den Entwicklungsprozess und nutzt Code-Reviews, um die Einhaltung des Standards zu gewährleisten.

Was sind Linter und Formatter?::Linter und Formatter sind Tools, die den Code automatisch prüfen und gemäß dem Standard formatieren.

Wie integriert man Coding Standards in den Entwicklungsprozess?::Man kann Continuous Integration (CI) Pipelines nutzen, um automatische Linting- und Formatierungsschritte zu integrieren, und Git Hooks wie pre-commit verwenden, um den Code vor dem Commit automatisch zu prüfen. Regelmäßige Schulungen oder Workshops helfen zudem, Teammitglieder auf dem neuesten Stand zu halten.

Was ist statische Code-Analyse?::Statische Code-Analyse ist eine Methode, um den Quellcode auf Fehler, Sicherheitslücken und Style-Verstöße zu prüfen, ohne dass der Code ausgeführt wird.

Was ist Linting?::Linting ist ein Prozess der statischen Code-Analyse zur Identifizierung von programmiersprachenspezifischen Syntaxfehlern, potenziellen Bugs und Stilabweichungen vom definierten Coding-Standard.

Was ist Style Checking?::Style Checking überprüft, ob der Quellcode den festgelegten Stilrichtlinien des Projekts oder Unternehmens folgt, wie Einrückungen, Klammernplatzierung, Maximallänge von Zeilen, Benennungskonventionen und mehr.

Welche Vorteile bietet statische Code-Analyse?::Statische Code-Analyse ermöglicht eine frühe Fehlererkennung, fördert Konsistenz, identifiziert potenzielle Sicherheitslücken früh im Entwicklungsprozess und verbessert die allgemeine Code-Qualität.

Wie kann man statische Code-Analyse in den Entwicklungsprozess integrieren?::Statische Analysetools können in den Continuous Integration (CI) Prozess integriert werden, so dass jeder Code-Check-in eine Analyse auslöst und das Tool über Probleme direkt im Merge-Request oder Pull-Request berichtet.

Was sind Code-Reviews?::Ein Code-Review ist ein systematischer Prozess, bei dem der Code von einem oder mehreren Entwicklern geprüft wird, die nicht an dessen Erstellung beteiligt waren. Ziel ist es, Fehler zu finden, die Softwarequalität zu verbessern und das gemeinsame Verständnis für den Code im Team zu erhöhen.

Welche Arten von Code-Reviews gibt es?::Es gibt Peer Reviews (eine einzelne Person prüft den Code), Pair Programming (zwei Entwickler prüfen den Code beim Schreiben) und formale Reviews (mehrere Teammitglieder prüfen den Code in formellen Sitzungen).

Was sind Vorteile von Code-Reviews?::Code-Reviews ermöglichen eine frühzeitige Fehlererkennung, fördern den Wissensaustausch zwischen Entwicklern und verbessern die Codequalität durch konstruktives Feedback.

Was sind die Schritte eines effektiven Code-Reviews?::Die Schritte umfassen Vorbereitung, Überblick, Zeile-für-Zeile-Prüfung, Zusammenfassung, Revision und Nachfolgeprüfung.

Was sind Best Practices für Code-Reviews?::Best Practices für Code-Reviews sind: Klare Ziele und Kriterien definieren, die Größe des zu prüfenden Codes begrenzen, wichtige Aspekte priorisieren, eine positive Atmosphäre fördern und geeignete Werkzeuge nutzen.

Was ist Cyclomatic Complexity?::Die Cyclomatic Complexity misst die Komplexität eines Programms durch die Anzahl linear unabhängiger Pfade durch den Source Code.

Wann sollte der Code basierend auf der Cyclomatic Complexity überdacht werden?::Generell gilt, dass Methoden oder Funktionen mit einer Komplexität über 10 überdacht werden sollten.

Was ist Code Coverage?::Code Coverage oder Testabdeckung misst, wie viel des Codes durch automatisierte Tests ausgeführt wird.

Welche Arten von Code Coverage gibt es?::Es gibt Statement Coverage, Branch Coverage und Condition Coverage.

Was misst die Statement Coverage?::Die Statement Coverage misst den prozentualen Anteil der ausgeführten Anweisungen während des Tests.

Was misst die Branch Coverage?::Die Branch Coverage misst, ob jede mögliche Verzweigung (if, else) im Code mindestens einmal durchlaufen wurde.

Was misst die Condition Coverage?::Die Condition Coverage misst, ob jede Boolesche Subexpression (innerhalb eines if-Statements) sowohl true als auch false aufweist.

Wozu helfen die Metriken zur Bewertung der Codequalität?::Die Metriken helfen dabei, Bereiche mit hohem Risiko im Code zu identifizieren, wo Fehler wahrscheinlicher sind oder wo eine erhöhte Aufmerksamkeit während der Review-Prozesse erforderlich ist. Sie ermöglichen eine kontinuierliche Überwachung der Codequalität.