When two methods have the same implementation, either it was a mistake - something else was intended - or the duplication was intentional, but may be confusing to maintainers. In the latter case, one implementation should invoke the other.
class A {
private const CODE = "bounteous";
public function getCode() {
doTheThing();
return A::CODE;
}
public function getName() { // Noncompliant
doTheThing();
return A::CODE;
}
}
class A {
private const CODE = "bounteous";
public function getCode() {
doTheThing();
return A::CODE;
}
public function getName() {
return $this->getCode();
}
}
Methods that are not accessors (getters and setters), with fewer than 2 statements are ignored.