Consistent file naming helps keep Visualforce and Apex classes easy to recognize and find. I’ve seen many orgs with both the good and the bad. Below is a table with naming suggestions. Some of them are mine, but most came from a presentation that I found referenced in a Trailhead module. The presentation is by Vivek Chawla. I recommend looking it over because it covers a lot of good stuff. Thank you Vivek.
Apex and Visualforce Naming
- UpperCamelCase
- Avoid using underscores.
- Use full names where possible. Be consistent.
- Test class should be named for the class they cover, and the word “Test” should be appended to the end.
Functional Type | Name Suffix | Examples |
---|---|---|
Trigger | Trigger | AccountTrigger |
Trigger Handler | TriggerHandler | AccountTriggerHandler |
VF Controller | Controller | AccountCloneController |
VF Controller Extension | ControllerExt | AccountCloneControllerExt |
Service Class | Services | AccountServices |
Utility Class | Util | AccountDupeCatcherUtil |
Selector Class | Selector | AccountSelector |
Model / Wrapper Class | Varies… | Accounts / AccountWrapper |
Web Service (SOAP) | Ws | AccountToolsWs |
Web Service (REST) | Rest | AccountToolsRest |
Email Service | EmlSvc | AccountCreateEmlSvc |
Asynchronous (Future) | Async | AccountIntegrationsAsync |
Asynchronous (Batch) | Batch | AccountMigrationBatch |
Scheduled Apex | Job | AccountCleanupJob |
Queueable Apex | Que | AccountSyncingQue |
Visualforce Page | -none- | AccountClone |
Visualforce Component | Cmp | AccountCloneCmp |
Lightning Components | -TBD- | |
Lightning Pages | -TBD- | |
Workflow Rule, Field Update, and Email Alert Naming
Workflow Rules and their actions can also get unruly without consistent naming. Force365 published some good suggestions. Below are the ones that I refer to most.
Workflow Rule
[Object]: [Criteria Description i.e. Condition]
Workflow Actions
Field Update –
Set [Field] to [Value]
Email Alert –
Send [Template short description]
Task –
[Task Subject]
References
SlideShare: Salesforce Development Best Practices by Vivek Chawla
Blog: Force365 – Salesforce Naming Conventions – Declarative