This rule raises an issue when a private method is never referenced in the code.
A method that is never called is dead code, and should be removed. Cleaning out dead code decreases the size of the maintained codebase, making it easier to understand the program and preventing bugs from being introduced.
This rule detects methods that are never referenced from inside a translation unit, and cannot be referenced from the outside.
class Foo extends Serializable {
private def unusedMethod(): Unit = {...} // Noncompliant
private def writeObject(s: ObjectOutputStream): Unit = {...} // Compliant, relates to the serialization mechanism
private def readObject(s: ObjectInputStream): Unit = {...} // Compliant, relates to the serialization mechanism
}
class Foo extends Serializable {
private def writeObject(s: ObjectOutputStream): Unit = {...} // Compliant, relates to the serialization mechanism
private def readObject(s: ObjectInputStream): Unit = {...} // Compliant, relates to the serialization mechanism
}
This rule doesn’t raise issues for:
@javax.enterprise.event.Observes The rule does not take reflection into account, which means that issues will be raised on private methods that are only accessed using
the reflection API.