Apexトリガ
- クラスのベストプラクティスはトリガーにも適用される
- 入力規則とワークフロールールが要件を満たせない場合にトリガを使用する
- オブジェクトごとに単一のトリガー
- トリガー本体にロジックを書かないこと。
その代わり、Trigger.new、Tigger.old、Tigger.newMapまたはTigger.oldMapは静的メソッドに渡される。
(例外として、isInsert、isUpdateなどをチェックすることによって、異なる静的メソッドを異なるイベントに対して呼び出す必要がある場合のみロジックを書く) - すべてのトリガーが一括設計パターンを使用する
- トリガーに静的なブール値を定義し、初期値をセットしてその後条件チェックするなど再帰的な使い方をやめる
- ガバナ制限を回避するには、Limit.getLimitメソッドを使用する
- トリガーから複数のメソッドを直接呼び出す場合は、同じトリガーレコードセットに対して複数回繰り返すことによってスクリプトステートメントの量が増える可能性があるため、注意が必要