- Test Driven Development will force you to document the external behavior of your system in terms of Unit Test
- Enforce a coding standard and use a tool to enforce that
- Make sure the code is regularly reviewed to ensure readability and modularity
How can one support such a legacy system ? By support, I mean the following ...
- Fix bugs when it occurs
- Tune performance when loading increases
- Add features when new requirement arrives
In later blogs, I will share my techniques of how to understand a piece of code written by someone else and also how to refactor it safely.