我想知道在java中是否有一些好的方法来表明永远不应该调用某些方法?我想,如果我和更大的团队合作,并告诉大家这种方法永远不会被调用,所以不要试图测试它。也许断言是个好主意?
上下文:我在java中使用ReactiveX,我的Observable永远不会被停止,它只能调用onError和onNext,但是onCompleted永远不会被调用,但是我的Observer扩展了Subscriber所以我需要@Override onCompleted。
答案 0 :(得分:2)
@Deprecated
是最接近标准的东西,在许多类似的情况下抛出UnsupportedOperationException
是合理的事情。
另请注意,由于多态性,调用者可能不知道他们在运行时调用的Observer
的具体类型,因此没有注释可以帮助。
但是,在你所描述的情况下,我认为你应该写一个onCompleted()
的空实现和一个只是断言它不会抛出异常的测试。虽然你已经决定Observable永远不会停止生产,但如果有一天它会抛出异常似乎是不合理的。
答案 1 :(得分:1)
如果您不希望其他人调用该方法,请使用正确的java doc使用@Deprecated
注释。
请注意,它只是对调用者的指示,尽管他们仍然可以调用该方法。