uuid: - value: 2743d645-0679-4862-91b6-1f77f218a5fd langcode: - value: en type: - target_id: daily_email target_type: node_type target_uuid: 8bde1f2f-eef9-4f2d-ae9c-96921f8193d7 revision_timestamp: - value: '2025-06-24T22:18:48+00:00' revision_uid: - target_type: user target_uuid: b8966985-d4b2-42a7-a319-2e94ccfbb849 revision_log: { } status: - value: true uid: - target_type: user target_uuid: b8966985-d4b2-42a7-a319-2e94ccfbb849 title: - value: 'Consistency is key' created: - value: '2025-06-21T22:12:37+00:00' changed: - value: '2025-06-24T22:18:48+00:00' promote: - value: false sticky: - value: false default_langcode: - value: true revision_translation_affected: - value: true path: - alias: /daily/2025/06/21/consistency-key langcode: en body: - value: |- Yesterday, I wrote about some of my [thoughts about the Action pattern](/daily/2025/06/20/my-thoughts-action-pattern) that's become popular with PHP Developers. I showed an example based on the `AddRandomCtaToDailyEmail` action class from my website. But, how should these classes be named? Should my example by `AddRandomCtaToDailyEmail` or `AddRandomCtaToDailyEmailAction`? Should my `Ctas` class - a collection of "Call to Action" nodes - be `Ctas` or `CtaCollection`? In these examples, I think the class name is descriptive enough that it doesn't need to be suffixed. In other cases, such as Controller classes, Interfaces, and classes that follow other design patterns such as Repositories, Factories and Builders, I will prefix to make it clearer which pattern they implement. Some projects have an existing coding standard and guidelines to follow, and some will have contribution documentation or a style guide to explain which patterns to follow and how to name things so changes are consistent with the rest of the project. Consider doing the same for your software. Document your rules and conventions for your current and future team members. The [Spatie Guidelines](https://spatie.be/guidelines) are a great example to follow. Then, make sure they are followed when the code is being reviewed, either in a pull/merge request or during a pair or mob programming session. Having consistent approaches makes projects more robust and easier to work on. format: markdown processed: |

Yesterday, I wrote about some of my thoughts about the Action pattern that's become popular with PHP Developers.

I showed an example based on the AddRandomCtaToDailyEmail action class from my website.

But, how should these classes be named?

Should my example by AddRandomCtaToDailyEmail or AddRandomCtaToDailyEmailAction?

Should my Ctas class - a collection of "Call to Action" nodes - be Ctas or CtaCollection?

In these examples, I think the class name is descriptive enough that it doesn't need to be suffixed.

In other cases, such as Controller classes, Interfaces, and classes that follow other design patterns such as Repositories, Factories and Builders, I will prefix to make it clearer which pattern they implement.

Some projects have an existing coding standard and guidelines to follow, and some will have contribution documentation or a style guide to explain which patterns to follow and how to name things so changes are consistent with the rest of the project.

Consider doing the same for your software.

Document your rules and conventions for your current and future team members.

The Spatie Guidelines are a great example to follow.

Then, make sure they are followed when the code is being reviewed, either in a pull/merge request or during a pair or mob programming session.

Having consistent approaches makes projects more robust and easier to work on.

summary: '' field_daily_email_cta: - target_type: node target_uuid: c74de3cf-5362-4d08-935a-a9d0d22fcb94