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


Groups > comp.lang.python > #25402

Re: Diagramming code

Path csiph.com!usenet.pasdenom.info!weretis.net!feeder4.news.weretis.net!de-l.enfer-du-nord.net!feeder2.enfer-du-nord.net!fu-berlin.de!uni-berlin.de!not-for-mail
From Ulrich Eckhardt <ulrich.eckhardt@dominolaser.com>
Newsgroups comp.lang.python
Subject Re: Diagramming code
Date Mon, 16 Jul 2012 09:58:46 +0200
Lines 26
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>
Mime-Version 1.0
Content-Type text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding 7bit
X-Trace news.uni-berlin.de oTVq94v2JJHVzMlwuE8JDwpVomVtx35kj8b7VdEeU1Ft2jK3rvu2ODSlzrgw==
X-Orig-Path satorlaser.homedns.org!not-for-mail
User-Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:13.0) Gecko/20120614 Thunderbird/13.0.1
In-Reply-To <jtvsec$d4b$1@dont-email.me>
Xref csiph.com comp.lang.python:25402

Show key headers only | 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