Universal Containers は、Salesforce 実装における特定のユースケースについて、宣言型開発とプログラムによるカスタマイズの利点を評価したいと考えています。
プログラムによるカスタマイズに対する宣言型開発の 2 つの特徴は何ですか? 2 つの答えを選択してください
正解:C,D
Declarative development is the process of configuring and customizing the Salesforce platform using its built-in tools, such as the setup menu, without writing any code. Declarative development has the following advantages over programmatic customization, which involves writing custom code using Apex, Visualforce, or other languages:
* Declarative development can be done by anyone who knows how to use the Salesforce user interface, without requiring any programming knowledge or skills. Programmatic customization requires a skilled developer who knows how to write, test, and debug code.
* Declarative development does not require Apex test classes, which are mandatory for deploying any custom code to production. Apex test classes are used to verify the functionality and quality of the code, and to ensure that it meets the code coverage requirement of at least 75%. Declarative development does not have this requirement, as the platform automatically validates the configuration and customization.
* Declarative development is faster and easier to implement, as it involves clicking and dragging components, setting properties, and defining rules. Programmatic customization is more time-consuming and complex, as it involves writing lines of code, using development tools, and following coding standards and best practices.
However, declarative development also has some limitations and disadvantages compared to programmatic customization, such as:
* Declarative development has lower design limits and query limits than programmatic customization.
Design limits are the maximum number of components, fields, objects, rules, etc. that can be used in a Salesforce org. Query limits are the maximum number of records that can be retrieved or manipulated in a single transaction. Programmatic customization can bypass some of these limits by using techniques such as dynamic SOQL, batch Apex, or asynchronous Apex.
* Declarative development has less flexibility and control over the functionality and user interface than programmatic customization. Programmatic customization can create custom logic, automation, integration, and user interface that are not possible or supported by the declarative tools. For example, programmatic customization can use Apex triggers to execute logic before or after a record is inserted, updated, deleted, or undeleted, while declarative development can only use workflow rules or process builder to execute logic after a record is created or updated.
* Declarative development can become difficult to maintain and troubleshoot as the complexity and number of components, rules, and dependencies increase. Programmatic customization can be more organized and modular, as it can use classes, methods, variables, comments, and annotations to structure and document the code.
Therefore, the best practice is to use a combination of declarative and programmatic development, depending on the use case and the requirements. The general rule of thumb is to use declarative development whenever possible, and use programmatic customization only when necessary or when it provides significant benefits.
References:
* Programmatic vs Declarative: Are Clicks Better Than Code?
* Clicks Not Code: Benefits of Declarative Vs. Imperative Programming
* Review Developer Fundamentals Unit