== Why is this an issue? include::../description.adoc[] The default regular expression allows the "CapWords" convention and the "snake_case" in lowercase. The style guide PEP-8 recommends using the "CapWords" convention in every case but also accepts the "snake_case" convention when the class is primarily used as a callable (ex: decorator, context manager, etc...). For example, with the default provided regular expression ``++^_?([A-Z_][a-zA-Z0-9]*|[a-z_][a-z0-9_]*)$++``, the classes: [source,python] ---- class myClass: # Noncompliant ... class my_CONTEXT_manager: # Noncompliant def __enter__(self): pass def __exit__(self, type, value, traceback): pass ---- should be renamed to [source,python] ---- class MyClass: ... class my_context_manager: def __enter__(self): pass def __exit__(self, type, value, traceback): pass ---- == Resources === Documentation * https://peps.python.org/pep-0008/#class-names[PEP 8 – Style Guide for Python Code] * https://en.wikipedia.org/wiki/Snake_case[Wikipedia: Snake case] ifdef::env-github,rspecator-view[] ''' == Implementation Specification (visible only on this page) include::../message.adoc[] === Parameters .format **** ---- ^_?([A-Z_][a-zA-Z0-9]{empty}*|[a-z_][a-z0-9_]{empty}*)$ ---- Regular expression used to check the class names against. **** ''' == Comments And Links (visible only on this page) include::../comments-and-links.adoc[] endif::env-github,rspecator-view[]