[Bioperl-l] RetrictionEnzyme.pm: a proposal

Hilmar Lapp lapp@gnf.org
Mon, 29 Jan 2001 13:57:13 -0800

Paul-Christophe Varoutas wrote:
> Tell me what you think about it:
> - First of all, is redesigning possible or are we obliged to maintain
> compatibility ? In the latter case I will just add functionality,
> maintaining the poor design of the module.
> - If redesigning is possible, please make comments/suggestions.

First of all, keeping compatibility is a very good thing. Every user
of your software will appreciate it if he/she knows that this is taken

In general, my opinion is if there's no strong reason to break
compatibility, then don't break it. On the other hand, if there is a
good reason, then don't hesitate.

This means, yes, redesigning is possible, but a nicer design by itself
is not a good reason to break compatibility. If the existing design is
sort of prohibitive for adding certain new functionality, this might
justify breaking compatibility. An example is the new location model,
but in fact Jason could manage to keep compatibility. I suggest that
you carefully examine whether you indeed can't redesign and at the
same time keep compatibility. Based on your proposal I don't see the
prohibitive point yet.

As for the release, this issue is not on the task list, which means
that you are on your own. There's a deadline next week, and we don't
want to lose focus. If you finish the code and submit an accompanying
rigorous test in t/* on time, it can make it into the release though,
provided that there are no objections should you introduce

As a last remark, a design that isn't prepared very well for an
extension one has in mind is not necessarily poor. It may just have
been perfect for its original scope. And: I really think that there is
no such thing as a "correct" design. Design may be bad or may be good,
generic or tailored, or whatever, it just depends on your viewpoint,
that is, on the particular problem you want to solve.

Hilmar Lapp                            email: lapp@gnf.org
GNF, San Diego, Ca. 92121              phone: +1-858-812-1757