Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #25402

Re: Diagramming code

From Ulrich Eckhardt <ulrich.eckhardt@dominolaser.com>
Newsgroups comp.lang.python
Subject Re: Diagramming code
Date 2012-07-16 09:58 +0200
Message-ID <n6ucd9-srr.ln1@satorlaser.homedns.org> (permalink)
References <jtvqkt$5ll$1@dont-email.me> <mailman.2156.1342402742.4697.python-list@python.org> <jtvsec$d4b$1@dont-email.me>

Show all headers | View raw


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

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


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