[ 
https://issues.apache.org/jira/browse/ACCUMULO-1026?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13570573#comment-13570573
 ] 

Adam Fuchs commented on ACCUMULO-1026:
--------------------------------------

It's important for users of our API to be able to automatically identify areas 
where their code might not work on future versions of Accumulo. @Deprecated 
ties into the standard convention for doing that analysis. If we replace 
@Deprecated with some other annotation then our users will lose the automatic 
warnings. Is there another way around this problem?
                
> Don't use @Deprecated to mean "Not for Client Use"
> --------------------------------------------------
>
>                 Key: ACCUMULO-1026
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-1026
>             Project: Accumulo
>          Issue Type: Sub-task
>          Components: master, tserver
>            Reporter: Christopher Tubbs
>             Fix For: 1.5.0
>
>
> I understand the convenience of using "@Deprecated" to discourage users from 
> using some bit of code, but I think this is confusing to users, because it 
> doesn't actually mean the functionality is deprecated. This sets a bad 
> precedent, because users may start getting the impression that when we say 
> something is deprecated, we don't really mean it, that we're just keeping 
> something from them.
> Further, using this tag liberally for other purposes, requires us to pollute 
> the code with suppression of warnings, which may hide other potential issues. 
> This wouldn't be an issue if the code were actually deprecated, because we 
> should no longer be using the code ourselves.
> These extra tags got checked in for ACCUMULO-259, and I think they should be 
> cleaned up.
> Some options are:
> # Create another annotation for annotating the public API
> # Create an annotation for annotating "Not For Client Use" when it is 
> inconvenient to remove a method from the API.
> # Use an interface so the method isn't exposed in our public API

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to