Skip to main content

Suffixing names

When writing code, it's common to suffix the class name with the type of class it is.

I do this often for most types of classes, such as Controllers, EventListeners, Factories, Repositories and Builders.

However, I don't always for value objects and data transfer objects (DTOs).

Also, I don't always suffix interfaces with Interface.

I've been re-reading the documentation for the Symfony Serializer component, which references both NameConverterInterface and MyDto::class.

Whilst it does make the names more verbose, it does clarify what the class is used for.

Symfony's coding standards and Drupal's PHP coding standards have conventions for this, but what do you think?

Do you add suffixes to your class or interface names, or do you prefer the simplified versions?

Was this interesting?

Subscribe to my daily newsletter for software professionals on software development and delivery, Drupal, DevOps, community, and open-source.

About me

Picture of Oliver

I'm a certified Drupal Triple Expert and former Drupal Association staff member with 18 years of experience, a Drupal core contributor, public speaker, live streamer, and host of the Beyond Blocks podcast.