Die Qualität bei der Anwendungsentwicklung

In diesem Artikel werden wir uns näher mit dem Schreiben von lesbarem Code befassen.

Folgende Fragen werden in diesem Artikel näher erklärt.

1.) Was ist Qualität bei einer Anwendungsentwicklung
2.) Die Bedeutung der Qualität in der Software
3.) Was bedeutet Codequalität?
4.) Die Qualitäten eines guten Codes
5.) Die Qualitäten eines schlechten Codes
6.) Sollte man den Code immer klein halten?

Was ist Qualität bei einer Anwendungsentwicklung?

Das Wort "Qualität" kann auf viele verschiedene Arten definiert werden. In der Regel wird das Wort „Qualität“ verwendet, um zu beschreiben, wie ein Kunde ein Produkt bewertet. Dies hängt häufig von Kriterien wie allgemeine Zufriedenheit, Funktionalität und Zahlungsbereitschaft ab.

Bei der Anwendungsentwicklung/Softwareentwicklung wird die Definition jedoch in einem anderen Licht betrachtet. Wenn es um Anwendungsqualität geht, wird die Erfüllung der funktionalen Anforderungen berücksichtigt. Es muss sichergestellt sein, dass der Quellcode sowohl auf Einheitenebene als auch auf Systemebene in die Softwarearchitektur passt. Stellen Sie sich zum Beispiel eine altmodische Großvateruhr vor, die immer noch auf Zahnrädern läuft. Nicht nur jedes einzelne Zahnrad muss auf Einheitsebene präzise und perfektioniert sein, sondern muss auch perfekt zu den anderen Zahnrädern innerhalb der Uhr passen, damit es funktioniert.
Die Qualität bei der Anwendungsentwicklung bezieht sich hier auf den Grad, zu dem ein System, eine Komponente oder ein Prozess bestimmten Anforderungen oder Erwartungen entspricht. Für Anwendungsentwickler ist die Qualitätssicherung von Software ein bewegendes Ziel.

Die Bedeutung der Qualität in der Software

Wie bereits erwähnt, kann alles, was nicht den Anforderungen des Kunden entspricht, als Mangel angesehen werden. Oft kann das Entwicklungsteam die Anforderungen des Kunden nicht vollständig verstehen, was schließlich zu Konstruktionsfehlern führt. Außerdem kann der Fehler auf eine schlechte Funktionslogik, eine falsche Codierung oder eine fehlerhafte Datenverarbeitung zurückzuführen sein. Um den Fehler nachverfolgen zu können, kann ein Fehlermanagementansatz angewendet werden. Im Fehlermanagement werden Fehlerkategorien nach Schweregrad definiert. Die Anzahl der Defekte wird gezählt und die Aktionen werden gemäß dem festgelegten Schweregrad ausgeführt. Steuerdiagramme können erstellt werden, um die Entwicklungsprozessfähigkeit zu messen.

Was bedeutet Codequalität?

Die Codequalität ist eine Gruppe verschiedener Attribute und Anforderungen.

Die Hauptattribute, die zur Bestimmung der Codequalität verwendet werden sind folgende:

Die Klarheit: der Code muss leicht zu lesen und zu verstehen sein. Wenn der Code einfach zu verstehen ist, ist es ebenso viel einfacher, den Code zu warten und zu erweitern.
Denn schließlich müssen nicht nur die Computer den Code verstehen sondern auch die Menschen.
Wartungsfähigkeit: Ein qualitativ hochwertiger Code ist nicht zu kompliziert. Jeder, der mit dem Code arbeitet, muss den gesamten Kontext des Codes verstehen, wenn er Änderungen vornehmen möchte.
Dokumentation: Der Code sollte selbsterklärend sein. Empfohlen wird, dem Code Kommentare hinzuzufügen, um die Rolle des Codes und die Funktionen zu erläutern. Dadurch wird es für jeden, der nicht am
Schreiben des Codes beteiligt war, wesentlich einfacher sein, ihn zu verstehen und zu pflegen.
Refactored: Die Code-Formatierung muss konsistent sein und den Codierungskonventionen der Sprache folgen.
Test: Je weniger Fehler der Code hat, desto höher ist die Qualität. Gründliche Tests filtern kritische Fehler und stellen sicher, dass die Software wie vorgesehen funktioniert.
Erweiterbarkeit: Der Code, muss erweiterbar sein. Es wäre ineffizient, den Code in einigen Wochen zu löschen.
Effizienz: Hochqualitativer Code verwendet keine unnötigen Ressourcen, um eine gewünschte Aktion auszuführen.

schlechter unstrukturierter Code – Beispiel

Die Kennzahlen eines nicht-qualitativen Codes

• Ein qualitativ nicht guter Code sieht so aus wie etwas, das in Eile gemacht wurde, ohne einen Gedanken zu machen.
• Keine Dokumentation
• Unnötige Verwendung von Anweisungen für Schleifen und Sprünge
• kein  Codierungsstandard und -stil
• nicht getestet
• Code unstrukturiert
• Code nicht konkret genung
• keine Kommentare

Schauen wir uns das Beispiel für diesen Fall in C genauer an:

//anhand dieser Funktion soll überprüft werden, ob man alt genung ist ein alkoholisches Getränk zu sich zu nehmen
#include <stdio.h>
int main()
{
pruefe();
}
void pruefe() 
{
     int a=0;
    
    printf("Geben Sie Ihr Alter ein: "); 
    scanf("%d" , &a);
    
    if(a< 16) 
    {
        printf("du bist jung, daher bekommst du kein alkoholisches Getraenk\n"); 
    }
    else 
    {
        printf("Du bist alt genung, um Alkohol zu trinken\n"); 
    }    
}

In diesem Code wird zunächst überprüft, ob das Alter des Kunden kleiner als 16 ist und der Kunde ein alkoholisches Getränk trinken darf. Auf dem ersten Blick auf den Code fällt uns auf, dass die Struktur des Codes nicht ersichtlich ist. Es ist unklar, was überprüft werden soll. In diesem Fall würden Kommentare eine Abhilfe verschaffen, den Code besser zu verstehen.

guter Code – Beispiel (Mindestalter für Abgabe von Alkohol)

Die Kennzahlen eines qualitativen Codes

• Ein Code sollte einfach zu verstehen sein.
• Wenn Daten und Operationen in Klassen zusammen passen.
• Der Code selbst erklärt, was gemacht wird.
• Der Bedarf an Kommentaren sollte minimal sein.
• Code sollte getestet sein.
• ein qualitativer Code enthält Kommentare
• Tests dienen als ausführbare Spezifikation des Codes und Beispiele für seine Verwendung.

Sehen wir uns einen Beispiel für einen qualitativen Code an. In dieser vorgestellten Funktion in C werden Zahlen (Alter) für alkoholische Getränke überprüft.

//anhand dieser Funktion soll überprüft werden, ob man alt genung ist ein alkoholisches Getränk zu sich zu nehmen
void pruefeAlter() 
{
     int alter=0;
    
    printf("Geben Sie Ihr Alter ein: "); //hier können Sie ihr Alter angeben 
    scanf("%d" , &alter);
    
    if(alter < 16) //wenn Sie jünger wie 16 Jahre alt sind, bekommen Sie kein alkoholisches Getränk und wenn Sie älter wie 16 Jahre alt sind, bekommen Sie ein alkoholisches Getränk
    {
        printf("du bist jung, daher bekommst du kein alkoholisches Getraenk\n"); 
    }
    else 
    {
        printf("Du bist alt genung, um Alkohol zu trinken\n"); 
    }    
}

Nun kommen wir zur letzten Frage: Welcher Code besser ist? Und warum? Bedeuten weniger Codezeilen einen besseren Code?

Sollte man den Code immer klein halten?

In der Informatik hört man oft den Satz "Weniger ist mehr". Im Allgemeinen ist es besser, wenn Sie ein Problem in weniger Codezeilen lösen können. Sie benötigen wahrscheinlich weniger Zeit, um eine 200-Zeilen-Klasse zu verstehen als eine 500-Zeilen-Klasse.