Whilst reviewing a solution I came across the class in the image below, and felt the need for a rant about using regions.
If you need regions, you should consider if the class has more than one RESPONSIBILITY and or is too big! In this case it is responsible for everything and over 1800 lines of code:-(
So a tip, if you need to use the #REGION’s in your code. I would advise you take a few moments and ensure that the class does not have mixed responsibilities. If it does have more than one responsibility you should split it up into a number of smaller classes with a clearly defined responsibility.
I re-factored the class into the following classes:
- 4 Service classes
- 13 Factories
- 13 Repositories
- 13 Model classes.
In fact by the time I had removed all the code from the class I found that it was not required at all 🙂