On Wed, 13 Jul 2022 15:15:10 GMT, John Hendrikx <jhendr...@openjdk.org> wrote:

>> The fix includes:
>> - renaming of offending methods to avoid confusion
>> - explicitly declaring the offending methods as private
>
>> > I turned on errors on missing `@Override` annotations. I got over 1k 
>> > errors. I think it's worth fixing it in batches.
>> 
>> missing @OverRide is a different warning. people do tend not to use this 
>> annotation, so any legacy code base usually contains lots of those. same 
>> with synthetic accessors and unused imports.
> 
> You perhaps mean that old code bases may have many places where this is not 
> done, but new code written by professional developers without `@Override` 
> seems highly suspect as it is a very valuable annotation, especially during 
> refactors and method renames -- the IDE will warn you if for some reason a 
> method is declared overridden but doesn't override anything, very handy when 
> an overridden method was renamed and you forgot one of its subclasses where 
> it was overridden.
> 
> Unused imports, just reorganize them one time project wide (same for 
> `@Override`, it's a safe change).
> 
> Synthetic accessors, aside from making call stacks a little uglier, they 
> don't really need attention at all (they're not a performance issue in modern 
> JVM's).
> 
>> I am ok with fixing all warnings, but people who use other IDEs or the IDEs 
>> with these warnings suppressed are bound to introduce them again and again.
> 
> Missing overrides should be signaled in code reviews and/or automated. All 
> IDE's support this and so they should just be configured properly.  In my 
> experience, I haven't seen code with missing `@Override`s unless the code 
> base is incredibly old -- I'm a warning fixer myself, and I prefer to keep 
> the warning list empty, so I would certainly have noticed this.  Making 
> JavaFX warning free would be a very good step, especially since some of the 
> warnings can actually point to real issues.
> 
> Eclipse makes such missing annotations (or other dubious constructs) 
> painfully obvious with its clear and direct list of errors and warnings 
> project wide.  IntelliJ makes this a lot harder and is often (in my 
> experience) a "source" of new warnings because people are not made aware of 
> them explicitly enough.  That is however no excuse for allowing such warnings 
> to accumulate in the code base.

@hjohn : 
I wholeheartedly agree.  Created JDK-8290244 to fix @override's at a later 
date, on a per-module basis.

-------------

PR: https://git.openjdk.org/jfx/pull/824

Reply via email to