You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "Oleg Zhurakousky (JIRA)" <ji...@apache.org> on 2016/11/21 15:42:58 UTC

[jira] [Commented] (NIFI-3073) poorly named nifi clones of standard java classes

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

Oleg Zhurakousky commented on NIFI-3073:
----------------------------------------

[~devriesb] would you consider changing Fix Version to 1.2 or even remove it all together untill we go through more formal planning? The reason why I am suggesting it is that we are trying to get the 1.1 release out the door and are trying to close the remaining few issues. 
Another reason is NIFI-3071, where we may end up deprecating/removing these all together after re-validating the need for those classes.

Anyway, appreciate your thoughts.

> poorly named nifi clones of standard java classes
> -------------------------------------------------
>
>                 Key: NIFI-3073
>                 URL: https://issues.apache.org/jira/browse/NIFI-3073
>             Project: Apache NiFi
>          Issue Type: Improvement
>            Reporter: Brandon DeVries
>            Priority: Minor
>             Fix For: 1.1.0, 0.7.1
>
>
> org.apache.nifi.stream.io.DataOutputStream is a clone of java.io.DataOutputStream that *does not* do synchronization.  This should have a different name, indicating this.  Overloading the name invites confusion.  The comment in the class\[1] should also be corrected to accurately reflect its intent:  
> {quote}
> This class is different from java.io.DataOutputStream in that it does synchronize on its methods.
> {quote}
> The incorrect comment should further illustrate the point on confusion, in that both the name and comment imply behavior potentially much different than the actual.
> Implementation note... previously there were concerns about backwards compatibility should this method be removed.  This can be avoided by renaming this class, and creating a new org.apache.nifi.stream.io.DataOutputStream that is marked as deprecated and simply extends the properly named class without modification.  org.apache.nifi.stream.io.DataOutputStream can then be removed in a future release.  This would also have the benefit of highlighting for developers any instances where this class was mistakenly used.  
> It would likely be wise to examine the code base for further instances of this (anti-)pattern.
> \[1] https://github.com/apache/nifi/blob/d838f61291d2582592754a37314911b701c6891b/nifi-commons/nifi-utils/src/main/java/org/apache/nifi/stream/io/DataOutputStream.java#L26



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)