---
title: Enforce a naming convention for any type of class
description: Datadog, the leading service for cloud-scale monitoring.
breadcrumbs: >-
  Docs > Datadog Security > Code Security > Static Code Analysis (SAST) > SAST
  Rules > Enforce a naming convention for any type of class
---

# Enforce a naming convention for any type of class

{% callout %}
# Important note for users on the following Datadog sites: app.ddog-gov.com

{% alert level="danger" %}
This product is not supported for your selected [Datadog site](https://docs.datadoghq.com/getting_started/site.md). ().
{% /alert %}

{% /callout %}

## Metadata{% #metadata %}

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

**Language:** Java

**Severity:** Notice

**Category:** Code Style

## Description{% #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{% #non-compliant-code-examples %}

```java
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{% #compliant-code-examples %}

```java
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");
    }
}
```
  Seamless integrations. Try Datadog Code SecurityDatadog Code Security 
{% icon name="icon-external-link" /%}
 