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)