My team has been developing a web business application for more than a year. It started quite small, but now it is growing bigger and bigger. I think it's time for refactoring.
Looking at the code, I see the below situation:
Generally saying, there are about 50 functions for more than 2500 lines of business logic. I once read "Clean code", it states that there should be no more than 200 lines for a normal class. Our code violates this requirement seriously, and I'm beginning to feel the hardship of code management.
The simple solution might be spliting this service into many other services, but it is not feasible/reasonable:
This service class serves as an API point for mobile client, so that every change on Interface (even renaming) requires change for the client as well. I don't want to spend the precious time of our team if not for good reason.
I already split a part of this service into another classes, but that class (RegistrationService) also grow quite fast and reach 500 lines of code recently.
More and more business logic request recently, and these services are going to grow even more.
I'm afraid that at some point we will lose the tracks if a team member who manage a specified service got retired.
Is there any way I can make this service more manageable? Any Design Pattern, Refactoring technique that I can apply? I'm still not experienced enough in this field... any suggestions or directions are welcome.