CLEAN CODE // FINN O

  • STUFE 1 / DER ROTE GRAD

  • DRY * Don\'t Repeat Yourself / Keine Doppelungen!

  • KISS * Keep it simple, stupid / Einfache, unkomplizierte Lösungen

  • Im Zweifel keine Codeoptimierung, lieber Verständlichkeit d. Codes

  • FCOI * Favour Composition over Inheritance / Komposition über Vererbung, wenig Abhängigkeiten erzeugen!

  • ISOP * Integration Operation Segregation Principle / kurze Methoden mit klarer Trennung der Logik & Calls

  • Pfadfinderregel! Kleine, kontinuierliche Schritte zum CCD!

  • Root Cause Analysis / Es werden Ursachen bekämpft, keine Symptome!

  • USE GIT / BE BRAVE / PUSH OFTEN

  • Refaktorisierung! Methoden extrahieren, sinnige Umbenennung!

  • Reflektiere täglich! Was habe ich da eigentlich gebaut?

  • STUFE 2 / DER ORANGENE GRAD

  • SLA * Single Level of Abstraction / Einhaltung eines Abstraktionsniveaus

  • SRP * Single Responsibility Principle / Eine Klasse. Eine Aufgabe.

  • SoC * Seperation of Concerns / Eine Klasse. Ein Zweck.

  • Source Code Konventionen / Namensgebung statt Kommentare

  • Issue Tracking! GIT Issues, Boards, Trello!

  • Automatisierte Integrationstests!

  • Zeige deinen Code! Review!

  • STUFE 3 / DER GELBE GRAD

  • ISP * Interface Segregation Principle / Vermeide unnötige Kopplungen

  • Dependency Inversion Principle / Isolation von Klassen, keine Abhängigkeiten

  • Liskov Substitution Principle / Subtyp erweitert Basistyp, sonst gleich!

  • Principle of Least Astonishment / Überraschungsarmer Code

  • Information Hiding Principle / Verbergen von Details

  • Automatisierte Unit Tests / Konsequente, punktgenauer Test des Codes

  • Verwende Mockups/Attrappen! Mockito, Easymock, jMock

  • Code Coverage Analyse / Teste deinen gesamten Code

  • Komplexere Refaktorisierungen! Langer Prozess.

  • STUFE 4 / DER GRÜNE PFAD

  • Open Closed Principle / Klassen offen für Erweiterung, geschlossen für Modifikation

  • Tell, don\'t ask / Objekte mit Verhalten, Entscheidungshoheit! Hohe Kohäsion, lose Kopplungen

  • Law of Demeter / Beschränkung des Zusammenspiels von Objekten

  • Continuous Integration / Automatisierung & Zentralisierung der Softwareproduktion

  • Statische Codeanalyse (Metriken) / Kontrolliere den Code!

  • Inversion of Control Container / Automatisierung des Auflösens der Abhängigkeiten

  • Messe deine Fehler und gib deine Erfahrungen weiter!

  • STUFE 5 / DER BLAUE GRAD

  • Keine Überlappung von Entwurf & Implementation!

  • Implementation spiegelt Entwurf!

  • YAGNI * You ain\'t gonna need it / Klare Anforderungen, Entscheidung gegen Aufwand

  • Continuous Delivery / Sicheres Deployment

  • Iterative Entwicklung! Änderungen möglich.

  • Komponentenorientierung / Unabhängige Bausteine!

  • Test first / Der Kunde bestimmt die Schnittstelle zwischen Client und Service

This checklist was created by finnstax

copy saved

copies saved