commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gilles Sadowski <gil...@harfang.homelinux.org>
Subject Re: [Math] Package "integration" (related to MATH-707)
Date Tue, 31 Jan 2012 19:34:28 GMT
On Tue, Jan 31, 2012 at 04:19:34PM +0000, sebb wrote:
> On 31 January 2012 16:11, Gilles Sadowski <gilles@harfang.homelinux.org> wrote:
> > On Tue, Jan 31, 2012 at 04:05:08PM +0100, Dennis Hendriks wrote:
> >> I may be overlooking something, but isn't
> >> "BaseAbstractUnivariateIntegrator" double, in the sense that "Base"
> >> and "Abstract" both refer to an abstract base class that actual
> >> integrators can derive from? In other words, wouldn't
> >> "BaseUnivariateIntegrator" or "AbstractUnivariateIntegrator" be
> >> enough?
> >
> > I thought that a "Base" class might not necessarily need to be "Abstract".
> 
> True.
> 
> > Or, if we can assume that it is always so, then you are right; and I'd happy
> > to remove the "Abstract" string from the name, as it is redundant with the
> > "abstract" keyword in the class declaration.
> > The converse is not true: an "Abstract" class is not necessarily a "Base"
> > class, where "Base" is to be taken in the sense of "the most basic
> > functionality").
> 
> On the other hand, an abstract class must always be the base for other classes.
> Do we need to distinguish basic abstract classes from other types of
> abstract class?
> 
> I think dropping the Base prefix but leave Abstract would be best.

I think the opposite: IMHO, as I said above, "Base" is less redundant than
"Abstract"; and then, the name indicates that the class is the "root" of
the hierarchy for this functionality.

Now, if we strive for shorter names, and it doesn't matter that developers
would need to go to the Javadoc-generated documentation to see the parent
relationships, I don't mind dropping both "Base" and "Abstract". Except that
it won't be possible because there usually is an interface by that name. :-}
Thus, as with all the other cases where we merged the interface with the
single meaningful implementation, maybe that here too, we could dispense with
the interface and have "UnivariateIntegrator" be an abstract base class...


Regards,
Gilles

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Mime
View raw message