I assume, you were assigned to jump into the cold waters of maintaining an existing project?
I would start to find answers to the following questions:
- Who has maintained the code before? Is (s)he available for a walk through/introduction?
- Where is the documentation? Does it exist anyhow? Is it up-to-date?
- Where are the sources? Are they version controlled (e.g. learn from commit statements)?
- Where are the tests? Studying them might give some insight...
- Are there other tools (editors, xref, etc.) that can aid?
- Where is the test- or staging-system (to experiment w/o endangering production)?
- What is your boss' concrete expectation? (your task description)?
Derive a small feasible but concrete task to start fiddeling with the code base.
- ...
Finally, for some people the learning by osmosis principle works. Skim through the sources, skim again, take notes while doing so. Finally, you'll have a mental map where to find something and how the pieces are connected to each other. Write new tests if you miss something or want to understand certain aspects. Experiment, but be sure you can undo your changes (e.g. version control).
HTH
Update: Additional PM resources:
I am not aware of a book that covers the topic of assessing an existing project.
Maybe McConnell / Code Complete,
Martin / Working Effectively with Legacy Code, or
Fowler / Refactoring: Improving the Design of Existing Code
might have some helpful sections about it?
Conway / Perl Best Practices might help you help the next generation (people that take over from you).
(in response to 919191)
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.