8 ms·
I have limited knowledge of Python / Django, but I have quite a lot of experience dealing with large projects in PHP and many of the frameworks and applications
by chill1 14y ago
I have limited knowledge of Python / Django, but I have quite a lot of experience dealing with large projects in PHP and many of the frameworks and applications built with it.
Are you using Git for your source control? If so, you may want to start a new branch and work in it before doing any major re-factoring.
To start, I would try to find a small part of the application that you feel would be possible to re-factor in an hour or so. Before changing anything, I would load up the app locally in your browser and navigate to the portion that is dependent upon the code you're going to re-factor. Then I would re-factor things in as small a chunk as possible, constantly checking in the browser to make sure things still work properly. This is a rather bastardized approach to test driven development, but it can be quick and effective.
> The architecture of it all is very monolithic; based on our plans for the future business development, quite a few parts should be decoupled and made more independent of each other.
As a side note.. This type of thing I have seen way too much of in my time in the industry. It's very easy to get carried away and over-engineer a solution. I've found it's best to create a solution that solves only the problems you currently need solved. It's always easier to go back and extend while re-factoring than it is to try to re-factor a giant-freakin'-thing after the fact.