This rule raises an issue when a function name doesn't respect the naming convention.

== Why is this an issue?

include::../description.adoc[]

According to PEP8, function names should be lowercase, with words separated by underscores as necessary to improve readability. This convention is known as "snake_case." For example: ``++calculate_area++``, ``++print_hello++``, ``++process_data++``

To fix this, respect the naming convention for the function. The default naming convention is snake case, as recommended by PEP8. Other naming conventions can be defined through the ``++format++`` rule parameter.

=== Code examples

==== Noncompliant code example

With the default provided regular expression: ``++^[a-z_][a-z0-9_]*$++``

[source,python,diff-id=1,diff-type=noncompliant]
----
def MyFunction(a,b):
    ...
----

==== Compliant solution

[source,python,diff-id=1,diff-type=compliant]
----
def my_function(a,b):
    ...
----

== Resources

=== Documentation
* PEP8 - https://peps.python.org/pep-0008/#function-and-variable-names[Function and Variable Names]

ifdef::env-github,rspecator-view[]

'''
== Implementation Specification
(visible only on this page)

include::../message.adoc[]

=== Parameters

.format
****

----
^[a-z_][a-z0-9_]*$
----

Regular expression used to check the function names against
****


'''
== Comments And Links
(visible only on this page)

include::../comments-and-links.adoc[]

endif::env-github,rspecator-view[]
