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.
