Clean Code
A path to Agile Software Craftsmanship
Manifesto for Agile Software Development
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
Manifesto for Software Craftsmanship
- Not only working software, but also well-crafted software
- Not only responding to change, but also steadily adding value
- Not only individuals and interactions, but also a community of professionals
- Not only customer collaboration, but also productive partnerships
Praktiken
- DRY
- KISS
-
Careful about Premature Optimization
- Premature optimization is the root of all evil -- DonaldKnuth
- Favor composition over inheritance
Prinzipien
- Boyscout Rule
- Ursachenanalyse
- VCS
- Refactoring
- Extract Method
- Rename
- Täglich reflektieren
Roter Grad
Praktiken
- Single Level of Abstraction (SLA)
- Single Responsibility Principle (SRP)
- Seperation of Concerns (SoC)
- Code Conventions
Prinzipien
- Issue Tracking
- Automatisierte Integrationstests
- Reviews
- Lesen Lesen Lesen
Orangener Grad
Praktiken
- Interface Segregation Principle (ISP)
- Dependency Inversion Principle (DIP)
- Liskov Substitution Principle (LSP)
- Prinzip der geringsten Überraschung
- Information Hiding
Prinzipien
- Automatisierte Unit-Tests
- Mocking/Stubbing
- Code-Coverage
- Komplexe Refaktorisierung
- Teilnahme an Fachveranstaltungen
Gelber Grad
Praktiken
- Open Closed Principle (OCP)
- Tell, don't ask
- Law of Demeter
Prinzipien
- Continous Integration
- Statische Codeanalyse
- Inversion of Control Container
- Messen von Fehlern
- Erfahrung weitergeben
Grüner Grad
Praktiken
- Entwurf und Implementierung überlappen nicht
- Implementierung spiegelt Entwurf
- YAGNI
Prinzipien
- Continous Delivery
- Iterative Entwicklung
- Komponentenorientierung
- Test first
- TDD
Blauer Grad
Andere Resourcen
- http://clean-code-developer.de/
- https://www.softwerkskammer.org/
Clean Code
By Kevin Wittek
Clean Code
- 1,562