Adobe Commerceの一般的な開発のベストプラクティス

このトピックでは、健全なAdobe Commerce開発プロセスのベースラインについて説明します。 開発者を導くための基本的なプロセス、コーディングの原則、アプリケーション設計の原則について説明します。

NOTE
Adobe テクニカルアーキテクトは、開発に関するエンゲージメント時に、これらのベストプラクティスを参照として使用します。

これらのベストプラクティスは、Commerce プロジェクトの開発と提供に関する長年の経験に基づいて開発されました。 Adobeでは、技術的な取り組みが以下のベストプラクティスに従い、既存のプロセスとコードを改善して、それらに沿ったものにすることを推奨しています。

テキスト規則

このトピックの「MUST」、「MUST NOT」、「REQUIRED」、「SHALL NOT」、「SHALL NOT」、「SHOULD NOT」、「SHOULD NOT」、「RECOMMENDED」、「MAY」、「OPTIONAL」というキーワードは、RFC 2119に記載されているように解釈されます。

プロセス

  1. プロジェクト活動を開始する前に、定義されたプロジェクト手法について合意する必要があります。 スクラム手法、ウォーターフォール手法、その他の手法や手法の組み合わせなど、定義されている場合に限ります。
  2. 開発チームがバージョン管理システムの分岐戦略を利用できるようになるまで、開発を開始しないでください。
  3. 技術仕様の承認、ユーザーストーリーとユースケースの承認、テストケースの承認が開発チームで利用可能になるまで、開発を開始しないでください。
  4. 少なくとも開発およびQA環境が利用可能になるまで、開発を開始しないでください。
  5. 開発を開始するために必須のプロジェクト固有の要件は、準備完了の定義​に記載されている場合があります。
  6. ログオフは、プロジェクト成果物のログオフを許可されたクライアント担当者が行う必要があります。
  7. アジャイルプロジェクト手法では、承認の後に追加の要件が発生する場合があります。 これらの要件は新しい要件として扱い、それに応じてキャプチャ、設計、計画する必要があります。
  8. すべての開発は、提出する前に開発者によって機能的にテストされなければなりません。
  9. すべての開発は、コードレビューのために提出される前に、自動テストに合格する必要があります。 これは、プルリクエストの作成後に自動プロセスとして設定できます。
  10. すべての開発は、品質保証のために提出される前に、テクニカルアーキテクトまたはリードデベロッパーによる手動コードレビューに合格する必要があります。
  11. すべての開発は、クライアントに納品する前に品質保証に合格する必要があります。
  12. 納品に必須のプロジェクト固有の要件は、「完了の定義」に記載することができます。

環境

  1. 全ての開発者が同じIDEを使用する必要があります。 PhpStormは、Adobe Commerce開発に推奨されるIDEです。
  2. すべての開発者は、(将来の)本番サーバーで使用されるのと同じテクノロジースタックを使用して開発およびテストを行う必要があります。 このテクノロジースタックのソフトウェアのバージョンは、本番サーバーにインストールされているソフトウェアのメジャーバージョンとマイナーバージョンと一致している必要があります。 Adobe Commerceの一般的なテクノロジースタックについて詳しくは、必要システム構成を参照してください。
  3. システム管理者またはテクニカルアーキテクトは、一元的に管理されたローカル開発環境を提供し、同等かつ最新のローカル環境を確保および促進できます。
  4. 開発者とQA エンジニアは、QA環境のコマンドライン、データベース、およびログファイルにアクセスできる必要があります。 これにはVPN接続が必要な場合があります。

バージョン管理

モジュールのバージョンは、Semantic Versioning 2.0.0標準に準拠している必要があります。
Adobe Commerce コードベースの依存関係は、​ モジュールバージョン依存関係ガイドライン ​に従う必要があります。

リビジョン管理

コミットは、意味のあるコミット・メッセージを伴わなければならない。

セキュリティ

  1. 安全でない関数は使用しないでください。
  2. XSS予防戦略を適用する必要があります。
  3. ​ コンテンツセキュリティポリシーを適用する必要があります。
  4. 新しいAdobe Commerce インスタンスは、まだ「セキュリティ修正の終了」日に達していないバージョンの最新のセキュリティリリースで配信する必要があります。 Adobe Commerce Software Lifecycle Policyを参照してください。
recommendation-more-help
commerce-operations-help-implementation-playbook