1. Red Grade
1.1. Principles
1.1.1. Don´t Repeat Yourself (DRY)
1.1.2. Keep it simple, stupid (KISS)
1.1.3. Vorsicht vor Optimierungen!
1.1.4. Favour Composition over Inheritance (FCoI)
1.1.5. Integration Operation Segregation Principle (IOSP)
1.2. Practices
1.2.1. Reflect Daily
1.2.2. Use reafctoring patterns
1.2.3. Root Cause Analysis
1.2.4. Die Pfadfinderregel beachten
1.2.5. Version Control System (VCS)
2. Orange Grade
2.1. Principles
2.1.1. Information Hiding Principle
2.1.2. Principle of Least Astonishment
2.1.3. Liskov Substitution Principle
2.1.4. Dependency Inversion Principle
2.1.5. Interface Segregation Principle (ISP)
2.2. Practices
2.2.1. Automated Unit Tests
2.2.2. Mockups
2.2.3. Code Coverage Analysis
2.2.4. Austausch mit anderen
2.2.5. Complex Refactorings
3. Yellow Grade
3.1. Principles
3.1.1. Single Level of Abstraction (SLA)
3.1.2. Single Responsibility Principle (SRP)
3.1.3. Separation of Concerns (SoC)
3.1.4. Source Code Konventionen
3.2. Practices
3.2.1. Issue Tracking
3.2.2. Automatisierte Integrationstests
3.2.3. Lesen, Lesen, Lesen
3.2.4. Reviews
4. Green Grade
4.1. Principles
4.1.1. Open Closed Principle
4.1.2. Tell, don´t ask
4.1.3. Law of Demeter
4.2. Practices
4.2.1. Continuous Integration
4.2.2. Statische Codeanalyse (Metriken)
4.2.3. Inversion of Control Container
4.2.4. Erfahrung weitergeben
4.2.5. Messen von Fehlern
5. Blue Grade
5.1. Principles
5.1.1. Entwurf und Implementation überlappen nicht
5.1.2. Implementation spiegelt Entwurf
5.1.3. You Ain´t Gonna Need It (YAGNI)
5.2. Practices
5.2.1. Continuous Delivery
5.2.2. Iterative Entwicklung
5.2.3. Komponentenorientierung
5.2.4. Test first