Sounds good to me

+1



>________________________________
> From: A. Soroka <[email protected]>
>To: [email protected] 
>Sent: Sunday, 9 October 2016 1:10 PM
>Subject: Re: putting types in the diamond....
> 
>
>(It was actually Java 7 that introduced the "diamond operator".)
>
>I don't know that we have a guideline. I personally like to have policy in 
>hand for questions like these, but I'm not sure we can in this case. Let me 
>give another example, taken directly from the codebase:
>
>private final Map<GraphListener, Stack<SecuredGraphListener>> listenerMap = 
>new HashMap<GraphListener, Stack<SecuredGraphListener>>();
>
>That seems to me to read much better as:
>
>private final Map<GraphListener, Stack<SecuredGraphListener>> listenerMap = 
>new HashMap<>();
>
>because the repetition of the type parameters doesn't add any real information 
>for the reader. But you are right to point to other examples wherein the 
>repetition is really helpful. Here are some rules of thumb (not rules to 
>constrain the code, just helpful hints) that I would be ready to uphold:
>
>If you are constructing an object to fill a reference as you declare it, use 
><>. Repeating the type parameters doesn't help anyone understand what is going 
>on, and it can be very verbose.
>
>Otherwise, consider how far away the declaration in question lives. If that is 
>far enough, consider repeating the type parameters to obviate the need for 
>readers to go back and forth in the code base.
>
>Does that sound reasonable?
>
>---
>A. Soroka
>The University of Virginia Library
>
>
>> On Oct 8, 2016, at 7:45 PM, Claude Warren <[email protected]> wrote:
>> 
>> I know that in Java 8 the old
>> {code}
>> Map<String> m = new HashMap<String>();
>> {code}
>> can now be written as
>> {code}
>> Map<String> m = new HashMap<>();
>> {code}
>> But why?  I suppose in the above it is simple to figure out what is being
>> constructed however if the declaration of the var and the constructor are
>> separated is it not confusing?  Do we have a standard/guideline for this in
>> the Jena code?
>> 
>> Suppose:
>> {code}
>> MyClass<String> myClass = null;
>> 
>> // .... some lines later
>> 
>> myClass = new MyClass<>();
>> {code}
>> 
>> makes it difficult to quickly determine the type that myClass is using.
>> Perhaps I am just tilting at windmills, or am an old curmudgeon.
>> 
>> Guidance please,
>> Claude
>> 
>> .
>> 
>> 
>> -- 
>> I like: Like Like - The likeliest place on the web
>> <http://like-like.xenei.com>
>> LinkedIn: http://www.linkedin.com/in/claudewarren
>
>
>

Reply via email to