- Keep track of what's going on
- Test each part individually
- Make changes without unexpected side effects
This is the meaning of the Single Responsibility Principle.
This is a great question, Haider; here are 4 tips I use to improve SRP:
- Find a good name; often, searching for a good name reveals you have too many responsibilities in your class or method.
- Writing your tests also helps; if you find yourself asserting multiple things in your tests, that can be a signal.
- Code Reviews with more seniors help a lot
- Refactor every time you have the opportunity to improve.