salesforce-development について
Salesforce 開発の実装パターンとアンチパターンを示すスキルです。Lightning Web Components のリアクティブなデータ連携、Apex トリガーの一括処理、Queueable Apex による非同期処理を扱います。
主な機能
- 01@wire による LWC のリアクティブなデータ連携
- 02ハンドラーパターンを使った一括処理 Apex トリガー
- 03Queueable Apex による非同期処理
- 04ループ内の SOQL と DML の回避
- 05ID のハードコード回避
活用シーン
- 01リアクティブな Lightning Web Components の実装
- 02保守しやすい Apex トリガーハンドラーの設計
- 03Salesforce タスクの非同期処理
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ davila7/ claude-code-templates --skill salesforce-developmentインストール後、Claude Code で/salesforce-developmentを入力して読み込まれたか確認します。
詳細
Salesforce 開発
パターン
Wire サービスを使用した Lightning Web Component
リアクティブなデータバインディングには、Lightning Data Service または Apex メソッドとともに @wire デコレーターを使用します。@wire は LWC のリアクティブアーキテクチャに適しており、Salesforce のパフォーマンス最適化を有効にします。
ハンドラーパターンを用いた一括化 Apex トリガー
Apex トリガーは、1 トランザクションあたり 200 件以上のレコードを処理できるよう一括化する必要があります。関心の分離、テスタビリティ、再帰防止のためにハンドラーパターンを使用します。
非同期処理のための Queueable Apex
非同期処理には Queueable Apex を使用します。プリミティブ型以外の型をサポートし、AsyncApexJob による監視やジョブのチェーンが可能です。上限は、1 トランザクションあたり 50 ジョブ、チェーン時は子ジョブ 1 件です。
アンチパターン
❌ ループ内での SOQL
❌ ループ内での DML
❌ ID のハードコーディング
⚠️ 注意すべき落とし穴
| 問題 | 重大度 | 解決策 |
|---|---|---|
| 問題 | critical | ドキュメントを参照 |
| 問題 | high | ドキュメントを参照 |
| 問題 | medium | ドキュメントを参照 |
| 問題 | high | ドキュメントを参照 |
| 問題 | critical | ドキュメントを参照 |
| 問題 | high | ドキュメントを参照 |
| 問題 | high | ドキュメントを参照 |
| 問題 | critical | ドキュメントを参照 |
コメント
Markdown 対応