Indika Bandara wrote:
> hi, 
> 
> If u r put into a large project of several 10,000 lines how would you
> start from to understand it..?
> 
> could somebody give some tips?
> 
> TIA
> 
> indika

I'd probably call it a "small" to "medium" project.  I can crank out 
anywhere from 500-1000 lines per day (depending on what I'm doing and if 
I know how I want to develop whatever I'm working on).

It helps to get your feet wet in an existing project by having a simple 
task to do.  Sitting there studying the source code is a waste of time. 
  Ask your boss for a simple task to do involving the project (if you 
don't already have one).  Then build a debug build of the project and 
fire up the debugger.  Pause the application (using the debugger) when 
you hit the section where you are supposed to add the code.  You'll be 
in the rough neighborhood - might take a couple tries.  Then start 
refining the place with breakpoints to get a feel for that section of 
code.  It helps to play with the application to get a good idea for how 
it works so when you look at the source code you can say, "okay, this 
relates to that dialog" or "this drives the calculations for the next 
part of the process."

For me, I can analyze most apps. by eyeballing the source usually after 
running it once to get an overview.  Then again, I've been staring at 
bad programming practices for years, so it just comes naturally.  But 
some apps. are just evil monolithic beasts (i.e. a hodgepodge of code in 
a big melting pot of awfulness) that you have to wade through. 
Hopefully the code you have to change isn't like that.

Doxygen can help...but usually it isn't too helpful unless the code is 
already Doxygen-friendly (i.e. Doxygen is used internally).

This is why companies hate hiring new people:  Training takes about 6 
months to get the new employee's feet wet in both source code and people 
interaction.  And that's just to get so you are functional on the 
project.  It can take significantly longer (depending on how good you 
are to begin with) to become an expert on the codebase so that 
modifications are second nature.

-- 
Thomas Hruska
CubicleSoft President
Ph: 517-803-4197

*NEW* VerifyMyPC 2.2
Change tracking and management tool.
Reduce tech. support times from 2 hours to 5 minutes.

Free for personal use, $10 otherwise.
http://www.CubicleSoft.com/VerifyMyPC/

Reply via email to