Why is this an issue?

Sharing some naming conventions is a key point to make it possible for a team to efficiently collaborate. This rule allows to check that all procedure names match a provided regular expression.

The namespace (if present) is not checked against the regular expression.

How to fix it

Code examples

Noncompliant code example

With default regular expression ^[a-z]|[a-z]+[a-z0-9_]*[a-z0-9]+$:

proc HELLO {} { ; # Noncompliant
  ...
}

proc MYNAMESPACE::HELLO {} { ; # Noncompliant
  ...
}

Compliant solution

With default regular expression ^[a-z]|[a-z]+[a-z0-9_]*[a-z0-9]+$:

proc hello {} {
  ...
}

proc MYNAMESPACE::hello {} {
  ...
}

Known limitations

The rule is not checked if the name of the procedure is dynamic:

proc $my_variable {} {
  ...
}