Design Principals and Design Patterns: Read It
If you haven’t read Robert Martin’s Design Prinicpals and Design Patterns PDF before, go read it!
If have read it before, I read it again!
It is very dense, but has a ton of great information that should be in the front of your mind continually as you code.
- Five signs of bad code (Rigidity, Fragility, Immobility, Viscosity)
- Four class design principles (Open Closed, Liskov Substitution, Dependency Inversion, Interface Segregation)
- Three package design principles (Release Reuse Equivalency, Common Closure, Common Reuse)
- Three package coupling principles (Acyclic Dependencies, Stable Dependencies, Stable Abstractions)
- Five common architecture patterns (Abstract Server, Adapter, Observer, Bridge, Abstract Factory)
Once you have read it, re-read it again in two weeks to keep the concepts fresh in your mind. Rinse and repeat until writing good code your natural reaction.