Programmin Principles SOLID Principles KISS DRY WET AHA Refactoring Refactoring Design patterns Design Patterns