Betroffene Produkte und Versionen
- Adobe Commerce auf Cloud-Infrastruktur
- Adobe Commerce On-Premises
Worauf bei der Code-Überprüfung geachtet werden muss
Stil
Der Stil kann automatisch durch Ausführen der PhpStorm-Inspektion getestet werden (siehe unten).
Stellen Sie sicher, PHPMD und PHPCS zu konfigurieren und das Coding Standard-Tool über die CLI (auch unten) auszuführen. Es gibt einige Überschneidungen, aber beide verfügen auch über eindeutige Tests.
Konvention und Struktur
Die Überprüfungen der Konvention und Struktur werden manuell durchgeführt.
- Ist die Klassenfunktionalität auf eine einzige Verantwortung beschränkt?
- Ist die Verzeichnisstruktur sinnvoll?
- Wird auf der richtigen Ebene ausgeführt (Server, Client, CSS, JS, Datenbank, Framework, Infrastruktur).
- Ist die Versionierung korrekt?
- Sieht der Code unkonventionell aus oder ist er so, als ob er versucht, ein Problem auf die falsche Weise zu umgehen?
- Wird die Namenskonvention für den Modul-, Paket- und Repository-Namen korrekt angewendet?
- Stellen Sie sicher, dass globale CSS-Stile sorgfältig angewendet und nicht überbeansprucht werden.
Vollständigkeit
Die Überprüfung auf Vollständigkeit erfolgt manuell.
- Kann der Code durch Konfiguration aktiviert oder deaktiviert werden und verhält sich der gesamte erforderliche Code erwartungsgemäß?
- Sind alle Konfigurationen vorhanden, die im Ticket erwähnt werden? Überprüfen Sie Umfang, Datentyp, Validierung, Übersetzung und Standardwerte.
- Wird die Konfiguration immer auf der niedrigstmöglichen Ebene abgerufen (Store-Ansichtsebene, Website-Ebene oder globale Ebene)? Der Konfigurationsabruf muss mit der Definition des Umfangs in der
system.xml
übereinstimmen. - Werden alle Pfade im Flussdiagramm der technischen Spezifikation abgedeckt? Werden alle anderen technischen Spezifikationen berücksichtigt?
- Sind für die neue Funktion ACLs definiert?
- Sind PHP-Dokumente klar? Sind Commit-Nachrichten klar?
- Ist irgendein Code auskommentiert oder wird Debug-Code angezeigt?
Leistung
Die Überprüfung der Leistung erfolgt manuell, was im Zweifelsfall durch die Ausführung von Code unterstützt werden kann.
- Werden Abfragen in einer Schleife ausgeführt? Diese Schleife kann sich außerhalb der bearbeiteten Dateien befinden.
- Können Sie
cachable="false"
Attribute erkennen? Werden sie korrekt angewandt?
Sicherheit
Die Überprüfung auf Sicherheit erfolgt manuell, was durch die Textsuche unterstützt werden kann. Ein Teil der Sicherheitsprüfung wird durch automatisierte Tests durchgeführt.
- Werden bei Bedarf Ausnahmen protokolliert? Werden die richtigen Ausnahmetypen verwendet?
- Können
around
Plug-ins vermieden werden? - Gibt das Plug-in die richtigen Datentypen zurück?
- Können Sie Rohdaten-SQL-Abfragen finden, die mit der Datenbankabstraktionsebene erstellt werden sollen?
- Wird ein neuer Datentyp einem beliebigen Benutzer, Administrator oder Frontend bereitgestellt? Ist diese Anfälligkeit ein Sicherheitsrisiko?
- Werden benutzergenerierte Daten validiert? Alles, was vom Browser kommt, wird als benutzergeneriert betrachtet, einschließlich Cookie-Werte und Server-Kopfzeilen.
Datenschutz und DSGVO
Die Überprüfungen für Datenschutz und DSGVO werden manuell durchgeführt.
- Verarbeitet der Code Kundendaten oder E-Mails? Achten Sie besonders darauf.
- Wenn dieser Code in einer Schleife ausgeführt werden kann, kann er dann Kundendaten von einem Schleifenzyklus zum anderen durchsickern lassen?
- Risikoindikatoren sind Importe, Cron-Aufträge, Transaktions-E-Mails und Batch-Warteschlangen-Handler.
- Sicherstellen, dass Benutzerdaten in Schleifen isoliert werden. Adobe empfiehlt die Verwendung von Fabriken oder Repositorys, um Modelle im Schleifenzyklus zu erstellen, auf die außerhalb der Schleife nicht zugegriffen werden kann.