5
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Apexクラスのベストプラクティス

Last updated at Posted at 2020-09-20

Apexクラス

  • IDのハードコーディングはどんなクラスでも容認できない
  • 空のcatchブロックを書かないこと
  • プロダクションコードでsystem.debugのコードを削除しないこと
  • 明確な共有ルールの強制実行しないユースケースがない限り、with sharing句ですべてのクラスを宣言する
  • FORループ内にSOQLクエリまたはDMLステートメントがないこと(それらを実行する他のメソッドの呼び出しを含む)
  • データを適切に抽出する(特に大量データの場合)
  • 汎用機能をUtilに保存する
  • ガバナ制限を超えないようにするため、ApexのLimitsメソッドの使用
  • クラスの主要機能ではない補助メソッドなどを追加する場合はHelperクラスを使用する


- 全てのhelperクラスとメソッドはBulkifyする - エラーを監視して対処する場合は、未処理エラーはエラーログオブジェクトにレコードを記録する - WSDLから作成されたWebサービスクラスは、WSDLを生成したシステム名で始まりWebServiceで終わる名前をつける。また、WSDLがスキーマも定義している場合、それらのクラスの名前はSchemaで終る - WebサービスおよびFutureメソッドでは、ビジネスロジックを明示的に書かない - Webサービスは常に成功または失敗の通知を返す必要があるため、無効にすることはできず、強力なエラー処理が必要 - エラーなどのメッセージは、アプリで共通のカスタムラベルに定数で定義する - Selectした全内容をfor文でチェックする場合は、ヒープサイズ制限を回避するため、極力SOQL forループを使用する
5
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?