The work on importers is an "architectural" phase.  I'm attempting to use 
common (base class) code where appropriate.

However, I just realized there is an unavoidable tension between clarity 
and code reuse.  

*Aha*: The clearest classes contain *all* the code they execute.  That 
means, the clearest class is a class that is the subclass of *no *other 
class.  Think about that for a moment...

This is not to say that subclassing is a bad idea.  Far from it!  For 
starters, it's unbearable to repeat code over and over again. Yes, 
subclasses inherit bugs, but they also inherit bug fixes!

*A trap*

The great Glen Meyers pointed out a trap re sharing code.  The shared code 
must *mean something on its own.* Meyers calls the "functional binding".  I 
try to avoid methods that merely share common code. Meyers calls this 
"code-level binding.

*Summary*

The final phase of the code cleanup is using base-class methods where 
possible *and* appropriate.  Significant design work and cleverness is 
required.  I'll continue revising the code until it is easy to understand 
*and* elegant.

EKR

-- 
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 [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/leo-editor.
For more options, visit https://groups.google.com/d/optout.

Reply via email to