I do understand this is a wild question and totally open-ended but just wanted to know that I am barking up the right tree.
I've inherited a large code base of many solutions and services, and whilst I'm learning to program in C#, ASP MVC and javascript have noticed a load of issues with the existing code.
I'm being encouraged to refactor the existing code whilst also extending the code base which has almost no tests and some limited documentation. For example one app has tabs but each tab is an individual partial view which has masses of unfactored javascript and decisions made within the view, and uses a cache to store sessions between tabs.
I wondered if I should add tests as possible, refactor the javascript and benefit from this in the existing app whilst rewriting the core app and get to a point where I can transfer the rewritten javascript and other parts to a new better-written tabs website using my tests.
The previous programmers range from novice to good but were coding under pressure, but the company is now far more aware of the benefits of good code and a very good company to work for and they are worth the effort.
Does anyone have a similar experience?