On Tue, Jan 31, 2012 at 04:19:34PM +0000, sebb wrote: > On 31 January 2012 16:11, Gilles Sadowski <gil...@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-unsubscr...@commons.apache.org For additional commands, e-mail: dev-h...@commons.apache.org