garydgregory commented on issue #190: [HTTPCLIENT-2042] AuthScope uses uppercase for scheme name whereas th… URL: https://github.com/apache/httpcomponents-client/pull/190#issuecomment-569511163 > > @michael-o But enums can be extended in future releases without breaking binary compatibility. They can never be assumed to be complete and final. > > Given with the current enum semantics. They are final implicitly. I cannot see in the future whether this will change. I remember my programming lecture when Sun introduced enums back then and the professor said they did not make it extendable for a good reason. > > Making assumptions about likely possible features will make any design decision really hard. > > > This whole enum renaming stuff is nothing more than assumptions and personal fancy. > > Partially right, but can't consistency be objective in this case? A big +1 for consistency. Having mentored many junior developers, I can attest that inconsistency is not good for maintenance and even guiding new code; you end up having to explain _why_ the code is inconsistent, is it by design (why?) or by lack of code review or care (lame). > > > We are getting a bit side tracked here but an enum is finite by definition. Arguing they can be extended by a future release is not a valid point IMO. I can't write code today (a switch for example) for an enum value that will only exist in the future. This is obviously completely different than using a String where you can write anything you want. > > +1, totally agree. Future extensions will break code. This is actually something Sun never wanted. Therefore generics have been implemented in a reified way.
---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected] With regards, Apache Git Services --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
