Hard-coding
Now, this is the most discussed, most noted, and most emphasized anti-pattern that exists. It is so common and widespread that ever since programming began this anti-pattern has existed and still prevails. As you probably already know that using any embedded values (string literals, numbers, Ids, and so on) within the code is termed hard-coding and is an anti-pattern.
As per general programming, hard-coding values is considered as a bad practice, and instead, any such values should be handled via the available configuration options. In Salesforce, we have custom labels, custom settings, custom metadata types, and caching or custom objects.
Tip
In Apex, Ids are another important set of values, which should never be hard-coded, as they can change across different Salesforce environments.
Some tips to avoid hard-coding are as follows:
- Retrieve Ids of standard objects (profile, record type, reports, e-mail template, and so on) by either using dynamic Apex or querying appropriate setup...