Enforce a naming convention for any type of class

This page is not yet available in Spanish. We are working on its translation.
If you have any questions or feedback about our current translation project, feel free to reach out to us!

Metadata

ID: java-code-style/class-naming-conventions

Language: Java

Severity: Notice

Category: Code Style

Description

Enforce a specific naming convention for your classes using custom regexes that allow for customizing the regex per class type, such as, an enum, interface or even abstract classes.

By default, this rule enforces the Pascal case (PascalCase) naming convention.

This rule also verifies the names for test classes if the class includes a @Test annotation.

Non-Compliant Code Examples

public class Foo$ {} // dollar sign goes against the default regex

abstract class Foo$Bar {} // dollar sign goes against the default regex

interface Foo_Bar {} // underscore goes against the default regex

enum ooBar {} // first character isn't a capital goes against the default regex

@F_o // underscore goes against the default regex
public class Bar{}

public class FooBar { // missing Test goes against the default test regex
    @Test
    public void compare() {
        Assertions.assertEquals("foo", "foo");
    }
}

Compliant Code Examples

public class FooBar {}

abstract class FooBar {}

interface FooBar {}

enum FooBar {}

@Foo
public class Bar{}

public class TestFooBar { // missing Test goes against the default test regex
    @Test
    public void compare() {
        Assertions.assertEquals("foo", "foo");
    }
}
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

PREVIEWING: rtrieu/product-analytics-ui-changes