precisely by studying open source projects.
As projects can be very complex I would like to start a discussion about how can you effectively get value from analyzing them?
Which approach do you use? What do you do in practical terms? (setup the project in an IDE? run it in debug mode? run it at all or just look at the code? etc)
About approach I'm thinking of top-down (start with a component diagram/package diagram/class diagram and go into the details after) or bottom-up (start with details to find out the design), For me top-down seems more natural and easier but because design documentation is often missing (and reverse engineering tools don't work well for big projects in my opinion), the bottom-up is how I'm thinking to do.
To dive into top project source code is very intimidating and I would like your thoughts about best practice for doing it.
This post has been edited by anirelles: 08 December 2009 - 06:05 AM