Angular 2 has a list of best practices to make our code aligned with the vision of the Angular team. What are those best practices?