s o l i d don't repeat yourself dependency inversion principle liskov substitution principle separation of concerns inversion of control composition over inheritance single-responsibility principle you aren't gonna need it g r a s p (object-oriented design) open–closed principle interface segregation principle coupling (computer programming) law of demeter cohesion (computer science) information hiding principle of least astonishment loose coupling zen of python defensive programming command–query separation worse is better fail-fast rule of three (computer programming) code reuse abstraction principle (computer programming) zero one infinity rule uniform access principle if it ain't broke, don't fix it offensive programming
Concepts_Principles