Comment faciliter la lecture et la maintenance de votre application ? 🤔
Les conventions de nommage sont importantes dans Salesforce car elles permettent d’améliorer la lisibilité, d’éviter les erreurs et de favoriser le travail en équipe. Gardez en tête que les noms utilisés doivent être descriptifs, concrets et spécifiques plutôt que généraux. Les acronymes et abréviations seront évités, hormis ceux largement utilisés et communément compris (HTTP, URL, etc).
<ObjectName>__c
<FieldName>__c
- Nom API au singulier, en anglais et fidèle à l’étiquette (label)
- PascalCase : première lettre de chaque mot en majuscule
- Aucun traits de soulignement ”_” hormis “__c”
| Nom | Explication |
---|
❌ | CustAsset__c | Abréviation |
✅ | CustomerAsset__c | Améliore la lisibilité et la maintenabilité |
| ---------- | ---------- |
❌ | Orders__c | Pluriel |
✅ | Order__c | Assure une dénomination standard pour tous |
| ---------- | ---------- |
❌ | Order_Item__c | Trait de soulignement |
✅ | OrderItem__c | Évite la confusion (les mots que certains séparent et d’autres non, par exemple Zipcode et Zip Code) |
<FieldName> <Rule>
| Nom | Explication |
---|
❌ | Validate Address | Utilisation superflue du mot valider |
✅ | StreetAddress < 60 chars | Champ et règle clairement identifiés |
<Description du destinataire> - <Modèle de mail utilisé>
| Nom | Explication |
---|
❌ | Informer l’équipe du changement | On ne sait pas quel e-mail sera envoyé |
✅ | Envoyer un e-mail à l’équipe client décédé - Nouveau client décédé | Décrit à qui est envoyé l’e-mail et quel modèle est utilisé |
<Événement qui a déclenché l'approbation>
- Ne pas nommer les actions (elles peuvent changer au fil du temps)
- Ne pas nommer l’objet (il existe un champ standard dans la vue de liste qui peut l’afficher et le filtrer)
| Nom | Explication |
---|
❌ | Envoyer un e-mail en cas de rejet | Les actions effectuées ne doivent pas être utilisées dans le nom |
✅ | Opportunité gagnée | Une brève description des critères d’entrée indique une intention claire du moment où le processus sera utilisé |
<Résultat de la décision> - <Description>
| Nom | Explication |
---|
❌ | Approbation complexe - Étape 1 | Ne fournit pas aux utilisateurs une image suffisamment claire de ce qui a été évalué |
✅ | Refus automatique - La valeur dépasse la politique de l’entreprise | L’étape d’approbation devient auto-documentée montrant à l’administrateur et à l’utilisateur le résultat de l’étape d’approbation |
// Apex Class
<ClassName>
// Visualforce Page
<PageName>
// Visualforce Controller
<ClassName>Controller
// Visualforce Extension
<StandardControllerName><ClassName>Ext
// TriggerHandler
<ClassName>TriggerHandler
// Service Class
<ClassName>Service
// Wrapper
<WrapperName>Wrapper
// Web Service (SOAP)
<ClassName>Ws
// Web Service (REST)
<ClassName>Rest
// Asynchronous (Future)
<ClassName>Async
// Asynchronous (Batch)
<ClassName>Batch
//Queuable Apex
<ClassName>Queue
// Scheduled Apex
<ClassName>Job
// Test Class
<ClassName>Test
// Test Data Factory
<ClassName>TestDataFactory
- PascalCase (première lettre de chaque mot en majuscule)
- En anglais
- Aucun traits de soulignement ”_”
| Nom | Explication |
---|
❌ | Override_Customer_View | Trait de soulignement |
✅ | CustomerView | Nom clair et succinct |
| ---------- | ---------- |
❌ | GrtBgClass | Abréviation |
✅ | GreatBigClass | Améliore la lisibilité et la maintenabilité |
<ObjectName>Trigger
- Unique et en anglais
- PascalCase (première lettre de chaque mot en majuscule)
- Aucun traits de soulignement ”_”
Il est fortement recommandé d’utiliser un seul déclencheur par objet ainsi qu’un framework comme l’Apex Trigger Action Framework.
| Nom | Explication |
---|
❌ | UpdateAccountAddress | L’action ne doit pas être dans le déclencheur |
✅ | AccountTrigger | Plus Lisible et identifiable |
<doSomething>()
- Comporte un verbe
- camelCase (première lettre en minuscule puis majuscule à chaque mot)
- Aucun traits de soulignement ”_”
| Nom | Explication |
---|
❌ | HandleCalcul | Description peu précise et majuscule en trop |
✅ | calculDiscount | Plus Lisible et identifiable |
<myVariable>
- camelCase (première lettre en minuscule puis majuscule à chaque mot)
- Aucun traits de soulignement ”_”
| Nom | Explication |
---|
❌ | x = x - y | Non explicite |
✅ | currentBalance = lastBalance - lastPayment | Plus claire et lisible |