flowcharting is automatic for Python via preprocessor
Richard Hilburger
modify
Mon Aug 2 21:39:46 EDT 2004
As I read your comments, I found myself agreeing with each point. I feel
that your analysis is quite good. I get the drift of your example at
http://oregonstate.edu/~barnesc/temp/flow.pdf Well done. My detailed flow
diagram is indeed "visually busy". After all, it shows every path leaving
no room for misinterpretation. Your diagram method is like a shorthand
version of my diagram method. Cleaner in appearance, but requiring more
skill and experience to read it correctly. A tool such as the preprocessor
I developed could easily have either a command-line flag or a user setting
to let the user choose either detailed or less-detailed flow diagrams.
Integration into a code editor is indeed a worthy goal, and if done well
would very likely improve the appeal of any such methodology. I had thought
of it, but decided to take an easier approach to test the water first.
Do other editors do this? I don't know what is out there. Neil posted:
http://www.eng.auburn.edu/grasp/index.html and I'll have to take a closer
look at that. At first glance, it looks confusing and unappealing.
<barnesc at onid.orst.edu> wrote in message
news:mailman.1069.1091487166.5135.python-list at python.org...
>
> I like your idea.
>
> It is easy to get lost inside in eg a multiply nested if statement in a
couple
> multiply nested for loops, inside a try block.
>
> Sometimes one can split such code into separate functions, and this makes
the
> code cleaner. Sometimes not.
>
> However, the real issue is how the eye parses code.
>
> It's really inefficient to scan a whole page of code line by line to
understand
> where loops, branches, continues, and breaks occur.
>
> I think your visual diagrams could help, if they are:
>
> 1. Semantically cleaner.
> IMO, there is too much detail in the flow diagrams.
> (See http://www.getcet.org/images/ex3.png).
>
> A minimal amount of detail is easier to parse with the eye.
>
> See http://oregonstate.edu/~barnesc/temp/flow.pdf for a cleaner
> example I came up with. This doesn't have arrows all over the
> place (and hence may not be a flow diagram), but it does help
> point out the relevant control structures.
>
> 2. Integrated into a code editor.
>
> I could see this being a new code editor fad, like collapsable
> functions and classes.
>
> It could be quite useful, if the amount of visual information
> is kept minimal, so that the coder is not distracted during
> coding.
>
> If the flow diagrams are not integrated into an editor, I don't
> think many coders will use them.
>
> Perhaps editors already do this.
>
> - Connelly
More information about the Python-list
mailing list