Priciples KISS - keep it simple, stupid code should be as simple as possible. don’t overengineer, avoid unnecessary complexity DRY - don’t repeat yourself don’t duplicated code YAGNI - You aren’t gonna need it additional functionality should been added when it is required not beforehand