影響を受ける製品とバージョン
- クラウドインフラストラクチャー上のAdobe Commerce
- Adobe Commerce オンプレミス
コードレビューで探すべき内容
スタイル
PhpStorm 検査を実行することにより、スタイルを自動的にテストできます(以下を参照)。
必ず PHPMD と PHPCS を設定し、CLI (これも後述)から コーディング標準ツールを実行します。 重複する部分もありますが、両方とも一意のテストを実施しています。
規則と構造
規則と構造のレビューは手動で行います。
- クラスの機能は 1 つの職責に限定されていますか?
- ディレクトリ構造は意味を成しますか?
- 適切なレベル(サーバー、クライアント、CSS、JS、データベース、フレームワーク、インフラストラクチャ)で実行される機能です。
- バージョン管理は正しいですか?
- コードが型にはまらないように見える、または間違った方法で問題を回避しようとしているように見えますか?
- モジュール名、パッケージ名およびリポジトリ名の命名規則は正しく適用されていますか?
- グローバル CSS スタイルが慎重に適用され、過剰使用されないことを確認します。
完全性
完全性のレビューは手動で行われます。
- 設定によってコードを有効または無効にできますか?また、必要なコードはすべて期待どおりに動作しますか?
- チケットに記載されているすべての設定が存在しますか。 範囲、データタイプ、検証、翻訳、デフォルト値を確認します。
- 設定は常に可能な限り低いレベル(ストア表示レベル、web サイトレベル、グローバルレベル)で取得されますか? 設定の取得は、
system.xml
ファイル内のスコープの定義と一致する必要があります。 - 技術仕様のフローチャートにあるすべてのパスがカバーされていますか。 その他の技術仕様はすべてカバーされていますか。
- 新しい機能用に ACL は定義されていますか。
- PhpDocs は明確ですか? コミットメッセージはクリアですか?
- コードはコメントアウトされていますか?それともデバッグコードが表示されますか?
パフォーマンス
パフォーマンスのレビューは手動で行いますが、不確かな場合はコード実行で支援できます。
- クエリはループで実行されますか。 このループは、編集したファイルの外部で発生する可能性があります。
cachable="false"
の属性を見つけることができますか? 正しく適用されていますか?
セキュリティ
セキュリティのレビューは手動で行われ、テキスト検索で支援できます。 セキュリティチェックの一部は、自動テストによって処理されます。
- 必要な場合、例外はログに記録されますか。 使用される例外のタイプが適切かどうか。
around
プラグインは避けられますか?- プラグインは正しいタイプのデータを返しますか?
- データベース抽象化レイヤーを使用して作成する必要がある生の SQL クエリを見つけることができますか。
- 新しいタイプのデータは、あらゆるタイプのユーザー、管理者またはフロントエンドに公開されますか? そのリスクはセキュリティリスクですか?
- ユーザー生成データは検証されますか? cookie の値やサーバーヘッダーなど、ブラウザーから送信されるすべての情報は、ユーザー生成と見なされます。