---- Niall Pemberton <[EMAIL PROTECTED]> schrieb:
> On Feb 6, 2008 1:44 PM, Simon Kitching <[EMAIL PROTECTED]> wrote:
> > ---- Stephen Colebourne <[EMAIL PROTECTED]> schrieb:
> > > Deprecation is useful when a method has been
> > > implemented incorrectly, and we want to push users
> > > to a replacement, or for similar issues. Removing deprecated
> > > classes/methods should be considered in a major version change,
> > > but even there we should question what the gain is. Having a
> > > 'nice and clean' no deprecations API release isn't sufficient a
> > > reason. We must always put the convenience of our users ahead of
> > > our natural refactoring and coding instincts.
> >
> > +1
> >
> > If a deprecated method is blocking significant improvement of the product, 
> > then ok remove it. But just to "clean up" is not really a good enough 
> > excuse.
> 
> I don't mind the deprecations staying for IO 2.x - just thought that
> if there was going to be a package rename for JDK 1.5, then may as
> well clean up the deprecations as well. If, because of generic erasure
> IO 2.x isn't incompatible (except for the requirement for a higher JDK
> version) then how about retaining the current package name?

*If* the package name changes, then the deprecated methods should definitely 
go, as there is no way removing them can break existing users and lead to jar 
hell.

Regarding a new java5-enabled io that is backwards-compatible: well, if the 
existing API is sound, and can be adequately genericised without breaking 
backwards compatibility, then keeping the old package-name seems sensible. 
Adding new methods is not a problem, as that won't break existing users. Only 
if the existing methods need to be refactored would a package-name change make 
sense.

Alternatively, where existing apis cannot be made generic without breaking 
existing users, maybe the new methods could be added within a different package 
of the existing commons.io library, leaving the old ones alone? Then there is 
still one jar that everyone can use. Yes there would be a bit of duplicated 
code in it, but that's still easier to manage than maintaining 1.x and 2.x 
branches. 

Regards,
Simon


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to