In today’s ever-changing IT landscape, the thing we knew as code ownership is dead. Intellectual property gets purchased, sold, shelved, recovered at a stakeholder’s whim – saying that module foo is yours is futile!
One of the biggest challenges is integrating yourself into foregin code-no matter if you bought it or created it 5 years ago-if you can’t grab the gestalt(to all german readers…this IS an english word) of it, it is foregin to you. I recently had to do this myself-and this is how I did it:
Step one-does it build?
This is the mother of everything-if you don’t know how to build it, you will never be able to test or deploy it.
So, find out how to build the codebase and attempt it-if it builds, party-else, the error logs will be handy.
Step two-get it building
Now that you know how to build the code, try fixing stuff quickly to get the system building(comment out failing parts…all you need is something binary that can be attached to a debugger!
Step three-go for the gestalt
Deploy the blob that you just built somewhere where it can’t do any harm(that’s what I have my TE2 for, e.g.). Then, try to create a big, high-level flowchart of what happens when and where in the code and the application!
Step four-take it easy
Now that you know how the app is organized, go over it from end to end following the flowchart. Refactor, test, finetune and rewrite-making small steps may be wise here…
Please tell us how you tackle new code-just leave a comment or post on your blog and send a link to Tamog@gmx.at(it will be published!!).
By the way, Jeff Atwood has published a great article on maintenance programming with loads of further reading!