I'm working in company with a big system with a messy code structure. I want to work with the right standards like polymorphism and design patterns.
But the code is such a mess and needs to be heavily refactored to do that. Also my current company gives me tasks, and if I have would heavily refactor, that will open many bugs in the system as it's not unit tested, of course.
What do you think? Should I work on the tasks on this bad structure to finish the work? Or tell them that we need rebuild many things (also they won't find a difference as the features already work now).
Over a period of time, if you keep building on top of this messy code, you will end up increasing the Technical Debt of your application. And I am sure at some point in near future, it will halt progress or future development on your product.
I would suggest you to use SonarQube to inspect the code quality of your application and present it to your clients. SonarQube will give you high Level statistics of your project – Lines of Code, Code Duplication, Code Complexity metrics, Unit Test Coverage, Issues in the code and the overall Technical Debt — all in one place.
Once you generate this report, you should be able to convince your clients on the need of refactoring.
Asked in February 2016Viewed 3,827 timesVoted 12Answered 3 times