How does everyone feel about situations involving raw types?

Such as public interface A is returning Region and not Region<K,V> is that an 
acceptable suppression?

Thanks,
Mark

> On May 8, 2020, at 1:20 PM, John Blum <jb...@pivotal.io> wrote:
> 
> Agreed, but the following (inside tests) does not work in all cases, i.e.
> 
> Region<String, String> region...
> 
> Particularly if "region" is passed to a method with a different type
> signature.
> 
> I am trying to find/think of the situation I encounter from time to time,
> even when I use the *wildcard* signature (i.e. Region<?, ?>), but cannot
> currently find it (*#ugh*).
> 
> Anyway, the point is, if the test is really not concerned with the type of
> values (*keys*, *values*) being stored in the mock *Region* then rawtypes (or
> sometimes Region<?, ?>) are useful in some cases since the point of the
> test is not about the data but perhaps about *Region* configuration in
> general, so adding types detracts (adds undue noise) to the code under test
> (IMO).
> 
> It depends and is subjective.
> 
> I agree, though, in general, @SuppressWarnings should be kept to a minimum
> and used only when necessary.
> 
> -j
> 
> On Fri, May 8, 2020 at 1:09 PM Kirk Lund <kl...@apache.org> wrote:
> 
>> Actually there is an alternative to using @SuppressWarnings for Mockito
>> mocks:
>> 
>> Region<String, String> region = cast(mock(Region.class));
>> 
>> private static <T> T cast(Object object) {
>>  return (T) object;
>> }
>> 
>> Personally, I'd prefer to see warnings or workarounds like above than see
>> lots of @SuppressWarnings littered throughout our code base. I think it's a
>> smell of bad code.
>> 
>> On Fri, May 8, 2020 at 12:44 PM Jacob Barrett <jbarr...@pivotal.io> wrote:
>> 
>>> 
>>> 
>>>> On May 8, 2020, at 12:41 PM, Donal Evans <doev...@pivotal.io> wrote:
>>>> 
>>>> Is there a consensus on what constitutes a benign warning? I think the
>>> only
>>>> times I use @SuppressWarnings is in parameterized tests to suppress the
>>>> unused method warning for the parameters method, or for unchecked
>> casts,
>>> as
>>>> below:
>>>> 
>>>> PartitionedRegion detailRegion1 = mock(PartitionedRegion.class);
>>>> when(cache.getRegion(regionPath1)).thenReturn(detailRegion1);
>>>> 
>>>> where the thenReturn() would complain, since it's expecting to return a
>>>> Region<Object, Object>.
>>>> 
>>>> Would these be considered things that could safely just be ignored (and
>>> so
>>>> for which I can turn off inspection), or is the use of
>> @SuppressWarnings
>>>> here warranted?
>>> 
>>> This is a legitimate suppression. There is no other way to correct the
>>> dysfunctional nature of Java Generics than to @SuppressWarnings. In this
>>> case though only that statement should be suppressed.
>>> 
>>> -Jake
>>> 
>>> 
>> 
> 
> 
> -- 
> -John
> Spring Data Team

Reply via email to