@Deprecated
annotation è la cosa giusta da fare. La rimozione del codice crea interruzioni delle modifiche nell'API che si sta utilizzando: può essere negativo.
Il fatto è che spesso la gente ignora la cosa "cattiva" e usa ancora metodi deprecati perché non fallisce la build. Quindi, la prossima cosa corretta da fare è fare in modo che l'uso di metodi deprecati fallisca la build.
È possibile rendere gli script di compilazione spesso usati dagli sviluppatori Java per fallire la compilazione degli avvisi del compilatore (non solo errori). Ci sono vari approcci per fare ciò a seconda del sistema di costruzione usato (gradle, maven, ant, ...).
Al punto che ora fallisci la build quando (inconsapevolmente) usando il metodo deprecato (hai aggiornato la libreria, qualcosa è ora deprecato, la compilazione fallisce - questa è una cosa buona ).
A quel punto, puoi disabilitare specificamente l'avviso deprecato per quella chiamata di metodo con @SuppressWarnings( "deprecation" )
e poi lo ricostruirà. Ma ora sai che devi correggere quel codice, perché la tua build ha avuto esito negativo e ti ha avvisato della modifica dell'API.