Why is this an issue?

Shared naming conventions allow teams to collaborate efficiently.

This rule raises an issue when a function name does not match a provided regular expression.

For example, with the default provided regular expression ^[a-z][a-zA-Z0-9]*$, the function:

function DoSomething(){ // Noncompliant
    // ...
}

should be renamed to

function doSomething(){
    // ...
}

Exceptions

Methods with an @inheritdoc annotation, as well as magic methods (__construct(), __destruct(), __call(), __callStatic(), __get(), __set(), __isset(), __unset(), __sleep(), __wakeup(), __toString(), __invoke(), __set_state(), __clone(), __debugInfo()) are ignored.

function __construct(){...} // Compliant by exception
function __destruct(){...}  // Compliant by exception

/**
 * {@inheritdoc}
 */
function myFunc(){...}      // Compliant by exception