[Bioperl-l] Re: Automatic generation of set and get methods

Ewan Birney birney@ebi.ac.uk
Sun, 17 Nov 2002 10:21:52 +0000 (GMT)


On Fri, 15 Nov 2002, Hilmar Lapp wrote:

> 
> My main point though is still the same: If people want to use autoload
> - great, go ahead, do it. Submit code with auto-loaded methods to
> bioperl - greatly welcomed contribution if it is working code that
> solves a problem. Noone's going to complain or even change your code
> to use explicit methods. As for the bioperl core recommendation - my
> vote is no, discouraged. I personally neither like the style of
> auto-loading method names, whether this is Java-backwards,
> Java-infatuated, or plain stupid, nor have I ever found it a problem
> in my code output efficiency (and yes, I wrote most of my Java
> separate get/set methods by hand, during the days there were no GUI
> builders). I personally like to spend my time on solving problems that
> are indeed problems (to me anyway, or to the one who cuts my paycheck
> :).

i agree with Hilmar here. If you have an AUTOLOADED system you think
works, as long as the AUTOLOADED system is not mind bending hard for a
client user to use it, we'll accept the module fine - we have a variety of
styles, and it is whether it *works* or not which is the criteria for
acceptance.


If you submit AUTOLOADED code and don't maintain it don't be surprised to
find one of the core memembers gut and replace it (I did this recently for
the unigene parser where I replaced a complex regex building system with
just vanilla regex's)


>From my perspective my code will be boringly-written, with the help of
macros. I always prefer "being explicit" and simple over cleverness,
whether it is in the programming language, the schema definitions or the
database management - simple, straightforward code is, in my experience,
the most maintainable. It may not look clever; it may not be short-term
lazy, but it is I think long-term lazy.


The only time I like AUTOLOAD is in delegation mode using composition with
delegation from the top level class. Even then I dislike it.


(and for interest Chris, I have met bugs generated by AUTOLOAD systems
"late" - I rate some of the old Aceperl bugs - since fixed - in this
catagory)