General Conventions All Naming Conventions Are RFC 2119 and RFC 6919 compliant. All field API names MUST be written in English, even when the label is in another language. All field API names MUST be written in PascalCase. Fields SHOULD NOT contain an underscore in the fields name, except where explicitly defined otherwise in these conventions. Fields generally MUST (but you probably won't) contain a description. In all cases where the entire purpose of the field is not evident by reading the name, the field MUST contain a description. If the purpose of the field is ambiguous, the field MUST contain a help text. In cases where the purpose is clear, the help text COULD also be defined for clarity's sake. Field API names should respect the following prefixes and suffixes.2 Prefixes and Suffixes SHALL NOT be prepended by an underscore. Field Type Prefix Suffix MasterDetail Ref Lookup Ref Formula Auto Rollup Summary Auto Filled by automation (APEX)1 Trig Picklist or Multipicklist Pick Boolean Is or IsCan3 1 Workflows, Process Builders and Flows are not included in this logic because these automations either allow field name modifications with no error, or can be modified by an administrator. If fields are created for the sole purpose of being filled by automation (e.g. fields that will be used in roll-up summaries), a consultant WOULD PROBABLY use the Trig suffix anyway, to indicate that users cannot set the data themselves. 2 While norms for other field types were considered, e.g. to make sure number, currency and percentage fields were easily recognizable, they were discarded as being too restrictive for an admin. Fixing type mismatches in this case is easily solved by casting the value to the correct type using either TEXT() or VALUE() functions. 3IsCan replaces "Can", e.g. CanActivateContract becomes IsCanActivateContract. This is to enable searching for all checkboxes on a page with a single query.