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


Groups > comp.lang.python > #25403

Re: Diagramming code

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)

Show all headers | View raw


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 | 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