As mentioned in my earlier blog, the software engineering skills we've learned assumes a green-field project where we starts on a clean sheet of paper. In this case, we can apply a number of practices to build a solid foundation for future evolution and maintenance.
- 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.
No comments:
Post a Comment