Unused parameters are misleading. Whatever the value passed to such parameters is, the behavior will be the same.

Noncompliant Code Example

void doSomething(int a, int b) {     // "b" is unused
  compute(a);
}

Compliant Solution

void doSomething(int a) { 
  compute(a);
}

Exceptions

For Java

Methods overriding or implementing another one should be excluded
@override
void doSomething(int a, int b) {     // no issue reported on b
  compute(a);
}