function name and parameters should use snake_case

Metadata

ID: python-code-style/function-naming

Language: Python

Severity: Notice

Category: Code Style

Description

Ensure that function use snake_case.

This rule is not valid for tests files (prefixed by test_ or suffixed by _test.py) because testing requires some camel case methods, such as, tearDown, setUp, and more.

Learn More

Non-Compliant Code Examples

def _plop_plip(G, most_valuable_edge):
    pass

class MyClass:
    def visit_Call_Call(something):
        pass
def my_function(myParameter, otherParameter):
  pass
def myFunction(arg1, arg2):
  pass

def myOtherFunction():
  pass
  

Compliant Code Examples

def test_get_major_OS_device(self, *mocks):
    pass
# name used in many testing frameworks. Do not warn on it
def tearDown(self):
    """After each test case, reset and remove the dummy tracer"""
    super(TracerTestCase, self).tearDown()
class TestModel(unittest.TestCase):
    def setUp(self):  # used in a file model_test.py, skip the rule for setUp and tearDown
        pass

    def tearDown(self):  # used in a file model_test.py, skip the rule for setUp and tearDown
        pass

    def test_violation_category(self):
        self.assertEqual(ViolationCategory.BEST_PRACTICE.value, 1)
        self.assertEqual(ViolationCategory.DESIGN.value, 2)
        v1 = Violation("bla", 1, "description", 2, ViolationCategory.BEST_PRACTICE, 10, "notool")
        self.assertEqual(v1.get_category_string(), "Best Practices")
        v1 = Violation("bla", 1, "description", 2, 1, 10, "notool")
        self.assertEqual(v1.get_category_string(), "Unknown")
https://static.datadoghq.com/static/images/logos/github_avatar.svg https://static.datadoghq.com/static/images/logos/vscode_avatar.svg jetbrains

Seamless integrations. Try Datadog Code Analysis