Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #25403
| References | <jtvqkt$5ll$1@dont-email.me> <mailman.2156.1342402742.4697.python-list@python.org> <jtvsec$d4b$1@dont-email.me> <n6ucd9-srr.ln1@satorlaser.homedns.org> |
|---|---|
| Date | 2012-07-16 05:00 -0400 |
| Subject | Re: Diagramming code |
| From | Joel Goldstick <joel.goldstick@gmail.com> |
| Newsgroups | comp.lang.python |
| Message-ID | <mailman.2165.1342429243.4697.python-list@python.org> (permalink) |
On Mon, Jul 16, 2012 at 3:58 AM, Ulrich Eckhardt <ulrich.eckhardt@dominolaser.com> wrote: > Am 16.07.2012 03:57, schrieb hamilton: > >> OK then, let me ask, how do you guys learn/understand large projects ? > > > 1. Use the program. This gives you an idea what features are there and a bit > how it could be structured. > 2. Build the program, to see what is done to get the program running. This > should give you an idea what pieces there are and where they are [from]. > 3. Read design documentation (which is too often outdated) which should give > you an idea what the intention of the project's structure is. > 4. Read the code documentation (which is hopefully more up to date). This > should give you an idea about responsibilities within the code. > 5. Read the code itself. This can also be done while single-stepping through > it with a debugger, just to see it run. > > Of course there are also secondary resources like developers' and users' > mailinglists, websites, bugtrackers that provide information and help. > > Sometimes, drawing a few diagrams from steps 3 and 4 to document > relationships between things is helpful. IMHO having a text describing the > relationships in prose is superior to that though. In particular a diagram > can't describe the rationale for something, you need prose for that. > > HTH & YMMV > > Uli > -- > http://mail.python.org/mailman/listinfo/python-list Do you know about pydoc? Its a great way to get a handle on your modules. It doesn't make diagrams, but a synopsis of what is in the module. It makes use of docstrings, for the module and each class and function in the module. -- Joel Goldstick
Back to comp.lang.python | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Diagramming code hamilton <hamilton@nothere.com> - 2012-07-15 19:26 -0600
Re: Diagramming code Chris Rebert <clp2@rebertia.com> - 2012-07-15 18:38 -0700
Re: Diagramming code hamilton <hamilton@nothere.com> - 2012-07-15 19:57 -0600
Re: Diagramming code Chris Rebert <clp2@rebertia.com> - 2012-07-15 19:13 -0700
Re: Diagramming code Ulrich Eckhardt <ulrich.eckhardt@dominolaser.com> - 2012-07-16 09:58 +0200
Re: Diagramming code Joel Goldstick <joel.goldstick@gmail.com> - 2012-07-16 05:00 -0400
RE: Diagramming code "Sells, Fred" <fred.sells@adventistcare.org> - 2012-07-16 13:02 -0400
Re: Diagramming code hamilton <hamilton@nothere.com> - 2012-07-16 12:36 -0600
Re: Diagramming code Dennis Lee Bieber <wlfraed@ix.netcom.com> - 2012-07-16 13:51 -0400
Re: Diagramming code 88888 Dihedral <dihedral88888@googlemail.com> - 2012-07-17 07:11 -0700
Re: Diagramming code 88888 Dihedral <dihedral88888@googlemail.com> - 2012-07-17 07:11 -0700
Re: Diagramming code Miki Tebeka <miki.tebeka@gmail.com> - 2012-07-16 12:47 -0700
Re: Diagramming code Andrea Crotti <andrea.crotti.0@gmail.com> - 2012-07-16 21:41 +0100
Re: Diagramming code Andrew Cooper <amc96@cam.ac.uk> - 2012-07-16 23:24 +0100
csiph-web