On Oct 30, 9:19 am, "Edward K. Ream" <[email protected]> wrote:
> I've been thinking about two general questions lately:

I'd like to revise them both slightly:

1. How can we improve Leo's quality?

2. How can we better understand complex computer programs?

The thread "Long/short details/dreams" discussed two approaches to
problem solving: detail oriented, continuous improvement and the
vague, dream-oriented, approach.  Note: I've just changed the summary
of that thread!

1. How can we improve Leo's quality?

I usually recast this question as, "how can I use unit tests more
often and more easily?"

Tiny improvements matter a great deal here: In the past I have written
unit tests (long) after writing the code.  The so-called "stupendous"
Aha tells us to use unit tests as test harnesses. The Aha promises to
convert unit tests into an *immediate* benefit, rather than a
"someday" benefit.

In practice, however, binding a key to a *particular* unit test is so
clumsy that I usually don't do it! Yes, the Aha has been useful in
big, ongoing projects like new-lint, but it hasn't been convenient
enough to use when writing *lots* of unit tests.

Binding Alt-4 in leoPy.leo to run-marked-unit-tests-externally changes
all that.  To "bind" a unit test to Alt-4 all I have to do is mark the
test node!  This is *much* more convenient than creating an @test node
with an @key binding. As a result, I am much more likely to integrate
unit testing into my every-day work flow.  That's no small thing!

Creating subsystem unit tests could be called a matter of detail, but
it is essentially a new vision for what Leo's unit tests can be.

2. How can we better understand complex computer programs?

At present, this question lives at the "vague" end of the scale.  Here
are some random thoughts:

- Pictures are not going to be good enough.  But what about Nasa's
giant project diagrams that covered the entire wall of a huge hanger?

- What kind of pictures do outlines create?  Using clones, a single
Leo outline could recreate any project diagram, not matter how large,
at *any* desired scale!  My intuition is that the "universe" of
pictures that can be represented by Leo outlines *does*, in fact,
suffice.

- UML, http://en.wikipedia.org/wiki/Unified_Modeling_Language, is not
likely to be good enough.  But what kind of diagrams could Leo
outlines create?  Do we need back links?  I suspect not, but this is
just a hunch.

- Could new *kinds* of classes aid design and understanding?  How
would we represent these classes in a Leo outline?  Would we need back
links?

These are questions that my mentor, Bob Fitzwater, would have
enjoyed...

All comments welcome.  On this thread, please try to stay on the topic
created by the two questions.  Thanks.

Edward

-- 
You received this message because you are subscribed to the Google Groups 
"leo-editor" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/leo-editor?hl=en.

Reply via email to