Unused parameters are misleading. Whatever the values passed to such parameters, the behavior will be the same.
void doSomething(int a, int b) { // "b" is unused compute(a); }
void doSomething(int a) { compute(a); }
The rule will not raise issues for unused parameters:
@javax.enterprise.event.Observes
default
methods throw
or that have empty bodies @SuppressWarning("unchecked")
or @SuppressWarning("rawtypes")
, in
which case the annotation will be ignored @Override void doSomething(int a, int b) { // no issue reported on b compute(a); } public void foo(String s) { // designed to be extended but noop in standard case } protected void bar(String s) { //open-closed principle } public void qix(String s) { throw new UnsupportedOperationException("This method should be implemented in subclasses"); }