Der beste Kommentar ist derjenige, den man gar nicht zu schreiben braucht!
- juristische Kommentare (Copyright etc.)
- Kommentare, welche Dinge hervorheben, die sonst zu unauffällig wären
- Erklärung der übergeordneten Absicht oder zur expliziten Warnung vor Konsequenzen
- reine Wiederholungen dessen, was schon der Code sagt
- falsche oder unpräzise Formulierungen
- sture JavaDoc Kommentare, nur damit sie da sind
- Tagebuch- oder Changelog-Kommentare
- Positionsbezeichner und Banner
- Hinweise auf Autor
- auskommentierter Code
- zu viel Kommentar / Information
- endlose Abhandlungen über Gott und die Welt
- zweckbeschreibend sein
- Fehlinformationen vermeiden
- Unterschiede deutlich machen
- gut aussprechbar und gut suchbar sein
- möglichst keine Codierungen enthalten
- Rot:
- Prinzipien
- Don't Repeat Yourself (DRY)
- Keep it simple, stupid (KISS)
- Vorsicht vor Optimierungen
- Favour Composition over Inheritance (FCoI)
- Praktiken
- Pfadfinderregel beachten
- Root Cause Analysis (RCA)
- Versionskontrollsystem einsetzen
- einfache Refaktorisierungsmuster anwenden
- täglich reflektieren
- Prinzipien
- Orange:
- Prinzipien
- Single Level of Abstraction (SLA)
- Single Responsibility Principle (SRP)
- Separation of Concerns (SoC)
- Source Code Konventionen: Namensregeln, Kommentare
- Praktiken
- Issue Tracking
- Automatisierte Integrationstests
- Lesen, Lesen, Lesen
- Reviews
- Prinzipien
- Gelb
- Prinzipien
- Interface Segregation Principle (ISP)
- Dependency Inversion Principle (DIP)
- Liskov Substitution Principle (LSP)
- Principle of Least Astonishment
- Information Hiding Principle (IHP)
- Praktiken
- Automatisierte Unit Tests
- Mockups (Testattrappen)
- Code Coverage Analyse
- Teilnahme an Fachveranstaltungen
- Komplexe Refaktorisierungen
- Prinzipien
- Grün
- Prinzipien
- Open Closed Principle (OCP)
- Tell, don't ask
- Law of Demeter
- Praktiken
- Continuous Integration (CI)
- Statische Codeanalyse (Metriken)
- Inversion of Control Container
- Erfahrung weitergeben
- Messen von Fehlern
- Prinzipien
- Blau
- Prinzipien
- Implementation spiegelt Entwurf
- Entwurf und Implementation überlappen nicht
- You Ain't Gonna Need It (YAGNI)
- Praktiken
- Continuous Integration (CI)
- Iterative Entwicklung
- Komponentenorientierung
- Test First
- Prinzipien