Currently our style guide recommends to avoid using @Override and updates intellij's code style to exclude it by default; I would like to propose we change this recommendation to use it and to update intellij's style to include it by default.
@Override is used by javac to enforce that a method is in fact overriding from an abstract class or an interface and if this stops being true (such as a refactor happens) then a compiler error is thrown; when we default to excluding, it makes it harder to detect that a refactor catches all implementations and can lead to subtle and hard to track down bugs. This proposal is for new code and would not be to go rewrite all code at once, but would recommend new code adopt this style, and to pull old code forward which is related to changes being made (similar to our stance on imports). If people are ok with this, I will file a JIRA, update the docs, and update intellij's formatting. Thanks for your time!