How to sort out huge projects

Started by
0 comments, last by Palidine 18 years, 7 months ago
I'm looking for info on how to tackle a huge software project. Preferably a book or tutorial or other browsable discussion. When I say huge software project, I mean, how do you order and set up control structures for an application/game/system that has multiple independent parts, and the user can navigate amongst all of them. Take for instance, a video editing program, wherein the user can highlight one frame of the video and then the software transforms into some kind of photoshop app, without losing anything from the editing part. And then it can switch to an audio editing mode, compression/output module, and so forth, all going on at once. I'm at a loss as to how to even think about coding that kind of thing. Doing the individual modules one at a time is ok, but how to do interprocess communication, control structures for them all, handing off from one module to another, etc. I have a bunch of projects I want to work on, including games and useful apps (heh), that all need this kind of switching. Is there a book called "How to manage insanely huge programs" by Morthan U. Kanchew? :)
Advertisement
In my experience this has been a matter of practice and working in someone else's huge codebase. You should always start out with small projects and work your way up towards bigger applications. Trying to start big will just get you lost. CS majors and such work you up that way. It also just helped me when i graduated from a non-CS majot to go work professionally as a programmer. You get dumped into the middle of a massive project and can see how they did it. From there it's just a matter of applying what you learned to what you want to do.

Download one of the big open source game engines like Ogre or one of the Quake games. Spend a week or so just looking it over and trying to figure out how they architected things. If you're more interesed in applications programming, find something like Open Office or one of the big Linux open-source applications.

-me

This topic is closed to new replies.

Advertisement