Yes, that does make life a lot nicer. :) Any objections to Tom's proposal? If not, I'll remove the UID lines from the code in a commit later today.
J On Wed, Jun 20, 2012 at 10:31 AM, Tom White <[email protected]> wrote: > On Tue, Jun 19, 2012 at 4:19 PM, Josh Wills <[email protected]> wrote: >> On Tue, Jun 19, 2012 at 1:56 PM, Tom White <[email protected]> wrote: >>> On Mon, Jun 18, 2012 at 6:42 PM, Robert Chu <[email protected]> wrote: >>>> +1 to fixing compiler warnings. I would prefer proper usage of the wildcard >>>> type to just suppressing the warnings. >>> >>> +1 Suppressing generics warnings should be the means of last resort, >>> and should be done at the smallest possible scope. >>> >>> Regarding the serialization warnings, I think it's better not to add >>> serial UIDs everywhere since they add clutter. You can turn off the >>> warnings in Eclipse instead - would that acceptable? >> >> I'm okay with that-- is it a setting we can add to the config settings >> Gabriel just checked in? > > Unfortunately it doesn't look like it - those are formatting rules, > and they don't affect the compiler. You can turn the warning off in > Preferences: Java Compiler -> Errors/Warnings -> Potential programming > problems -> Serializable class without serialVersionUID. Change the > drop down to "Ignore". > > Cheers, > Tom > >> >>> >>> Cheers, >>> Tom >>> >>>> >>>> Robert >>>> >>>> On Mon, Jun 18, 2012 at 7:57 AM, Josh Wills <[email protected]> wrote: >>>> >>>>> On Mon, Jun 18, 2012 at 6:24 AM, Gabriel Reid <[email protected]> >>>>> wrote: >>>>> > As prep for some other development I was going to do in Crunch, I was >>>>> > considering cleaning up some (or all) of the compiler warnings that >>>>> > are currently occurring (they make the right-side search ribbon in >>>>> > Eclipse almost unusable right now). >>>>> > >>>>> > A significant portion of the compiler warnings are raw type generics >>>>> > warnings, i.e. "xxx is a raw type. References to xxx should be >>>>> > parameterized", where we're doing general operations with PCollections >>>>> > and similar objects without knowing anything about their generic >>>>> > types. >>>>> >>>>> There are also the warnings about not adding serialization UIDs to the >>>>> built-in DoFns, which irritate me and are useless in the context of >>>>> Crunch. Happy to volunteer to go around and add UID = 1; code all over >>>>> the place if there are no objections. >>>>> >>>>> > >>>>> > We could add wildcards (i.e. PCollection<?>) to each of these generic >>>>> > objects in the methods where the warnings are occurring -- this would >>>>> > be my preferred thing to do. On the other hand, I think that adding >>>>> > wildcards make the code more difficult to read, while having any kind >>>>> > of real added value. >>>>> > >>>>> > The other option we could take (less preferable to me) is to use >>>>> > @SuppressWarnings("rawtypes") on some or all of the affected methods >>>>> > -- it'll leave the code in a more readable state, but I'm not that >>>>> > wild about just suppressing warnings. >>>>> >>>>> I'm a 0 on the approach here-- I always have a hard time getting the >>>>> <?> stuff to compile when I'm casting the result, which is what often >>>>> happens in Writables.java and Avros.java, but I agree that a working >>>>> version of the wildcards is preferable to suppress warnings. We might >>>>> say that we prefer <?> but add in SuppressWarnings when there is no >>>>> other option for what we're trying to do. >>>>> >>>>> > >>>>> > Anyone else care to weigh in on this? >>>>> > >>>>> > - Gabriel >>>>> >>>>> >>>>> >>>>> -- >>>>> Director of Data Science >>>>> Cloudera >>>>> Twitter: @josh_wills >>>>> >> >> >> >> -- >> Director of Data Science >> Cloudera >> Twitter: @josh_wills -- Director of Data Science Cloudera Twitter: @josh_wills
