[Bioperl-l] Proposed name change for 1.3 (1.4)
Hilmar Lapp
hlapp at gmx.net
Tue Feb 25 12:18:44 EST 2003
On Tuesday, February 25, 2003, at 09:15 AM, Ewan Birney wrote:
>>
>> I agree. Bio::Annotation::Set is a lot better naming style.
>
>
> Ok. I now declare that, if in doubt people should not put "fully
> qualified" names into sub name spaces, but let the directory structure
> indicate the name.
>
So, if in doubt then you do?
Seems we have 2 votes for (Ewan, Heikki) and 2 votes against (Hilmar,
Lincoln).
Can't we agree that interfaces be meaningfully qualified even in the
absence of the namespace, and implementations are free to be named
ambiguously with the namespace doing the disambiguation?
I now have lots of places with code that does something similar to
($mod) = $class =~ /.*[::]{0,2}(\w+)/;
$adpname = $prefix."::".$mod."Adaptor";
$self->_load_module($adpname);
which for e.g. SeqI loads $prefix::SeqAdaptor, or
$prefix::AnnotationSetAdaptor for Bio::AnnotationSetI just as well as
for Bio::Annotation::AnnotationSetI. ($prefix is e.g. Bio::DB::BioSQL)
I would *hate* to have to produce names like
"$prefix::Bio_Annotation_Set_Adaptor", and this is certainly not the
worst possible example, apart from the fact that it is still not
guaranteed to be unambiguous since underscores may occur in filenames
too.
Lincoln pointed out use cases where you pass in types as parameters
without having to fully qualify them all the time. You may argue that
you shouldn't do that anyway. But essentially my, and I believe
Lincoln's, point here is that having ambiguous names even for the
interfaces makes our life in a not insignificant number of places
harder down the road, not easier. I'd rather have the toolkit have less
optical appeal than less practical usability for programmers.
So, let me put in a strong vote for interfaces be named unambiguously,
regardless of namespace.
-hilmar
--
-------------------------------------------------------------
Hilmar Lapp email: lapp at gnf.org
GNF, San Diego, Ca. 92121 phone: +1-858-812-1757
-------------------------------------------------------------
More information about the Bioperl-l
mailing list