4 Replies - 545 Views - Last Post: 08 June 2011 - 08:48 AM

#1 xCraftyx  Icon User is offline

  • D.I.C Regular
  • member icon

Reputation: 11
  • View blog
  • Posts: 258
  • Joined: 13-September 08

Joining a Large Project

Posted 07 June 2011 - 01:42 PM

Hey all, I've been working on an open source project though Google's Summer of Code program and the more I work with the code, the more daunting it seems. What would really help me out is some advice from you industry experts on how to come to terms with or improve comprehension of large projects (thousands of lines or more) within a reasonable amount of time. I read all of the documentation and a lot of source code that is relevant to my portion of the project, but it seems to favor either the administrators using it or developers who are already familiar with the software. I'm really not looking for anything specific, just any tips of the trade that would help lower the learning curve and shorten the introductory period in general.

As a little bit of background (if it helps tailor advice) I'm a sophomore CS (and business) student who has been programming for ~3 years and am comfortable in 4-5 languages and most core CS concepts. On a scale, I'd very comfortably rank myself as a journeyman here: Programming as a Craft :)

Any advice is greatly appreciated!

Is This A Good Question/Topic? 0
  • +

Replies To: Joining a Large Project

#2 calebjonasson  Icon User is offline

  • $bert = new DragonUnicorn(); $bert->rawr();
  • member icon

Reputation: 207
  • View blog
  • Posts: 988
  • Joined: 28-February 09

Re: Joining a Large Project

Posted 07 June 2011 - 04:54 PM

Start with the core of the application and go through how everything is pulled in and what classes are used first. This will let you grasp how the core of the application is built and how everything is built up from there. If you have any UML software you could create a diagram that goes through what happens at runtime and what objects are being used where.

This is probably the best way to get a grip on what you are working with. Another option would be to start with the core and follow the data and check where everything is being stored.
Was This Post Helpful? 1
  • +
  • -

#3 xCraftyx  Icon User is offline

  • D.I.C Regular
  • member icon

Reputation: 11
  • View blog
  • Posts: 258
  • Joined: 13-September 08

Re: Joining a Large Project

Posted 07 June 2011 - 07:15 PM

Thanks calebj, I tried to do that with my branch of the project but I didn't think about it as a whole...definitely something to work on. I think the biggest thing about this project is that it's a server-side script with various REST APIs and a command-line interface, so it's a bit difficult to work out where exactly my branch fits in since I can't pinpoint an "entry" of sorts
Was This Post Helpful? 0
  • +
  • -

#4 ishkabible  Icon User is offline

  • spelling expret
  • member icon





Reputation: 1617
  • View blog
  • Posts: 5,707
  • Joined: 03-August 09

Re: Joining a Large Project

Posted 07 June 2011 - 07:25 PM

i have read the Lua source files to gain a better understanding of them from time to time. what i did was write a simple program with Lua, just a few lines then back traced to see each step that occurred.
Was This Post Helpful? 0
  • +
  • -

#5 calebjonasson  Icon User is offline

  • $bert = new DragonUnicorn(); $bert->rawr();
  • member icon

Reputation: 207
  • View blog
  • Posts: 988
  • Joined: 28-February 09

Re: Joining a Large Project

Posted 08 June 2011 - 08:48 AM

Also, going through allows you to find code that is reusable which will of course lessen the amount of time that you code and more importantly lessen the project size and increase performance.
Was This Post Helpful? 0
  • +
  • -

Page 1 of 1