Quando l'annotazione @ Override è stata introdotta in Java 1.5, che risale ai tempi in cui i dinosauri vagavano per la Terra, era una buona idea in quel momento perché, tra gli altri vantaggi, ha reso il tuo codice auto-documentante e ha assicurato che hai digitato correttamente il metodo.
Ora è il 2018 e quasi tutti scrivono Java usando un IDE che ti dice già se un metodo è un override, tipicamente usando una piccola icona accanto al nome del metodo o nel margine sinistro della stessa linea. Se ho sbagliato a scrivere il metodo, Java non compilerà la mia classe perché ci sarà un metodo di interfaccia non implementato, e non vedrò la piccola icona prevista, quindi saprò che non è un metodo di sovrascrittura. Mi sembra che l'annotazione @ Override più spesso ingombra il codice piuttosto che documentarlo o renderlo più chiaro. Tuttavia lo uso ancora per coerenza con la base di codice esistente. Ma per un nuovo progetto, pensi davvero che dovremmo ancora usare l'annotazione @ Override? Se sì, perché?