strategies for learning complex software packages
I am a fairly novice Java programmer and I am currently working on a project to extend a piece of software that has been developed over a few years. So it has pretty big code base and the previous developers knew it well, so extending it is not going to be easy without a thorough understanding of the structure and function.
1) I had begun by trying to tackle small parts of the system and document them with mindmap. (particularly I am trying to document the interactions with external systems)
2) I have the book "code complete", which I am working through.
3) I have pointed some tools like "tattletale" at the code to get some diagrams of dependency relationships.
What other strategies should I employ, should I开发者_运维问答 focus on one particular aspect?
10 Start small.
20 Break things.
30 Then fix what you broke.
40 Goto 20
Maybe you could try to model the problem the program is meant to solve. If you have a clear understanding of the problem and limitations imposed on the solution, then it should be easier to understand the program itself. I am just guessing here, as I do not know what sort of program it is.
It is important for you to find a good coach on the project. Go for a nice guy, who knows the system and who likes to answer your questions.
Also have the architect explain you the system. If it is a good one he can point you to the important parts and point you away from the parts you do not need to know (yet).
Then try picking up small issues. Even stupid error messages and go from there. In a few weeks you should be able to grasp the basics of the system.
Good luck!
精彩评论