Hey Team, When deprecating a symbol, like class or method, please included a reference to the replacement in the java docs. Also please include an example of converting from the old API to the new. I am finding many many places in the source where deprecated code has no hints at all. As many of us don’t take the effort to immediately convert old tests over to the new APIs the context is lost when someone finally does get around to it. For public APIs this is extremely important so that users know how to migrate their code with as few roadblocks as possible.
Here is an example of something that is much better than most of what I am seeing. /** * @deprecated Replaced with something better and safer. * Replaced by {@link Bar}. */ @Deprecated class Foo { /** * Do something. * * @deprecated Replaced with something better. * Replaced by {@link Bar#doSomethingBetter()} */ @Deprecated public void doSomething() {} /** * Do something. * * @deprecated Implementation is not safe. * Replaced with {@link Bar#doSomethingBetter()} and {@link Bar#doSomethingElse()}. * Migration example, replace: * <pre>{@code * Foo foo = new Foo(); * foo.doSomethingAndSomethingElse(); * }</pre> * with: * <pre>{@code * Bar bar = Bar(); * bar.doSomethingBetter(); * bar.doSomethingElse(); * }</pre> */ @Deprecated public void doSomethingAndSomethingElse() {} } class Bar { public void doSomethingBetter() {} public void doSomethingElse() {} } -Jake