Clean Code Prinzipien
Das Prinzip ist, das bei der Software Erstellung der Programmiercode leicht verständlich und nachvollziehbar gestaltet werden soll. Bei Programmierprojekten herrscht häufig Kosten- und Zeitdruck. Erfahrungen zeigen, das funktionierder Programmcode unter diesen Bedingungen von Kosten- bzw. Zeitdruck nicht dem Clean Code Paradigma entsprechen.
Sollte dieses der Fall sein, kommt das sogenannte Refactoring nach Abschluss des Projektes ins Spiel. In der Wirklichkeit findet jedoch das in der Regel nicht statt.
Deshalb ist das Clean Code Prinzip bei der Erstellung von Anfang an sehr wichtig. Voraussichtlich werden nicht alle Prinzipien eingehalten werden können. Es umso wichtiger, das Prinzip zu verinhaltlichen und ständig zu reflektieren.
Hier sind einige wichtige Clean Code-Prinzipien:
Lesbarkeit: Code sollte so geschrieben werden, dass er leicht zu lesen und zu verstehen ist. Variablen, Funktionen und Klassen sollten klar und aussagekräftig benannt werden, und der Code sollte gut formatiert und kommentiert sein, um seine Absicht klarzustellen.
Einfachheit: Einfacher Code ist besser als komplexer Code. Es ist wichtig, nur das zu tun, was notwendig ist, und unnötige Komplexität zu vermeiden. Das bedeutet auch, dass der Code so kurz wie möglich gehalten werden sollte.
Wartbarkeit: Code sollte so geschrieben werden, dass er leicht gewartet werden kann. Das bedeutet, dass er einfach zu ändern und zu erweitern ist, ohne dass andere Teile des Codes betroffen sind. Hierfür ist es wichtig, Code-Strukturen wie Klassen und Funktionen zu entwerfen, die gut abgegrenzt und modular sind.
Testbarkeit: Code sollte so geschrieben werden, dass er einfach zu testen ist. Das bedeutet, dass er so strukturiert sein sollte, dass Tests leicht geschrieben werden können und dass er leicht zu testen ist. Hierfür sind auch klar definierte Schnittstellen und Abhängigkeiten wichtig.
Konsistenz: Code sollte in einem konsistenten Stil geschrieben werden. Das bedeutet, dass der Code eine einheitliche Struktur haben sollte und dass die Namen von Variablen, Funktionen und Klassen einheitlich benannt werden sollten. Auch sollten gleiche Funktionen auf gleiche Art und Weise implementiert werden.
Vermeidung von Redundanz: Code sollte so geschrieben werden, dass Redundanzen vermieden werden. Das bedeutet, dass keine gleichen oder ähnlichen Funktionen oder Code-Blöcke an verschiedenen Stellen im Code geschrieben werden sollten, sondern dass sie in eigenen Funktionen oder Klassen ausgelagert werden sollten.
SOLID Prinzip
Das SOLID Prinzipien sind grundlegend für die objektorientierte Programmierung und besteht aus 5 Säulen. Sie dienen dazu, robusten, erweiterbaren und wartbaren Code zu schreiben.
Single Responsibility Principle (SRP): Eine Klasse sollte nur eine Verantwortung haben. Das bedeutet, dass eine Klasse nur eine einzige Funktion oder ein einziges Verhalten ausführen sollte. Dadurch wird der Code einfacher zu verstehen, zu testen und zu warten.
Open/Closed Principle (OCP): Eine Klasse sollte offen für Erweiterungen sein, aber geschlossen für Änderungen. Das bedeutet, dass neue Funktionen hinzugefügt werden können, ohne dass der bestehende Code geändert werden muss. Dadurch wird der Code robuster und einfacher zu warten.
Liskov Substitution Principle (LSP): Ein Objekt einer abgeleiteten Klasse sollte immer anstelle eines Objekts der Basisklasse verwendet werden können, ohne dass das Programm falsch arbeitet. Dadurch wird sichergestellt, dass der Code korrekt funktioniert, unabhängig davon, welche Klasse verwendet wird.
Interface Segregation Principle (ISP): Klienten sollten nur von den Methoden abhängig sein, die sie tatsächlich benötigen. Das bedeutet, dass eine Schnittstelle nur die Methoden enthalten sollte, die für den jeweiligen Klienten relevant sind. Dadurch wird der Code einfacher und flexibler.
Dependency Inversion Principle (DIP): Abhängigkeiten sollten auf abstrakte Klassen oder Schnittstellen statt auf konkrete Klassen programmiert werden. Dadurch wird der Code flexibler und leichter zu testen und zu warten.