On Sunday, September 1, 2019 at 7:29:59 AM UTC-5, Edward K. Ream wrote:

I would be happy to make the code simpler if I knew how to do this without 
> damaging Leo.
>

Aha!  I see a way forward.

 To gain my approval, you would have to convince me of the following:
>
> Requirement 1. That users presently are suffering from configuration 
> related bugs, that can *not* be fixed by small changes to the present 
> code base.
>
> Requirement 2. That you have a solid plan to avoid any proposed 
> refactoring from introducing changes, of any kind, in how users perceive 
> Leo's settings. 
>

Requirement 1 suggests a completely new idea.  This idea suggests the way 
to meet requirement 2.

I agree with Vitalije that we don't really know how sound Leo's existing 
configuration code is.

Lets go about testing that *present* code with something like a *prototyping 
unit test*. This won't be a real unit test.  It would likely take way too 
long for that.  But it will be crucial, no matter how long it will take.  
The unit test might well write results, including intermediate data, to a *test 
cache*, which might well be an external file.

Like any good unit test, it will compute expected settings *without *using 
Leo's existing code.  It will then compare the expected settings with the 
actual settings.

This is a breakthrough, in two, no three ways:

1. The faux unit test should give us some confidence in the present code.
2. It allows anyone to experiment with new code *safely*.  Any new code 
must pass the test.
3. The unit test *itself* will be a test bed for computing settings.

The unit test won't be simple, but it is free to be as simple as possible.

*Summary*

A *prototyping unit tes*t will *relatively *simple and intuitive. To be a 
proper unit test, it should work from first principles, ignoring Leo's 
actual code. The unit test will form an experimental test be for 
alternative ways of delivering settings.

Such a unit test will show:

- Requirement 1:where Leo's present machinery presently fails.
- Requirement 2: where any proposed refactoring fails.

This is an important day in Leo's history.  It breaks the deadlock between 
Vitalije and me.

Edward

-- 
You received this message because you are subscribed to the Google Groups 
"leo-editor" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to leo-editor+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/leo-editor/efa022b5-8f2d-4cc8-af18-157c1ea8dfd3%40googlegroups.com.

Reply via email to