Berörda produkter och versioner
- Adobe Commerce i molninfrastruktur
- Adobe Commerce lokalt
Vad du ska leta efter i kodgranskningen
Stil
Stilen kan testas automatiskt genom att köra PhpStorm-undersökningen (se nedan).
Konfigurera PHPMD och PHPCS och kör verktyget Code Standard från CLI (även nedan). Det finns en viss överlappning, men båda har också unika tester.
Konvention och struktur
Granskningar av konvention och struktur utförs manuellt.
- Är klassfunktionaliteten begränsad till ett enda ansvar?
- Låter katalogstrukturen bra?
- Är funktionaliteten utförd på rätt nivå (server, klient, CSS, JS, databas, ramverk, infrastruktur).
- Är versionshanteringen korrekt?
- Ser koden okonventionell ut eller som om den försöker komma runt ett problem på fel sätt?
- Används namnkonventionen för modulnamnet, paketnamnet och databasnamnet korrekt?
- Kontrollera att globala CSS-format används noggrant och inte används för mycket.
Fullständighet
Granskningar för att se om de är fullständiga görs manuellt.
- Kan koden aktiveras eller inaktiveras av konfigurationen och fungerar all nödvändig kod som förväntat?
- Finns alla konfigurationer som nämns i biljetten? Kontrollera omfattning, datatyp, validering, översättning och standardvärden.
- Hämtas konfigurationen alltid på lägsta möjliga nivå (visningsnivå, webbplatsnivå eller global nivå)? Konfigurationshämtningen måste matcha definitionen av omfång i filen
system.xml
. - Omfattas alla banor i flödesschemat i den tekniska specifikationen? Omfattas alla andra tekniska specifikationer?
- Definieras åtkomstkontrollistor för den nya funktionen?
- Är PhpDocs tydlig? Är bekräftelsemeddelanden tydliga?
- Kommenterar någon kod ut eller ser du felsökningskoden?
Prestanda
Prestandagranskningar görs manuellt, vilket kan vägledas av exekvering av kod när du är osäker.
- Körs frågor i en slinga? Den här slingan kan ligga utanför de redigerade filerna.
- Kan du hitta några
cachable="false"
-attribut? Används de korrekt?
Säkerhet
Säkerhetsgranskningar görs manuellt och kan vägledas av textsökning. En del av säkerhetskontrollen hanteras genom automatiska tester.
- Loggas undantag vid behov? Används rätt typer av undantag?
- Kan
around
plugin-program undvikas? - Returnerar plugin-program rätt typer av data?
- Kan du hitta några SQL-råfrågor som ska byggas med databasens abstraktionslager?
- Är någon ny typ av data exponerad för någon typ av användare, administratör eller frontend? Är den exponeringen en säkerhetsrisk?
- Valideras användargenererade data? Allt som kommer från webbläsaren betraktas som användargenererat, inklusive cookie-värden och serverrubriker.
Integritet och GDPR
Sekretessgranskningar och GDPR utförs manuellt.
- Hanterar koden kunddata eller e-postmeddelanden? Var särskilt uppmärksam.
- Om den här koden kan köras i en slinga, kan den då läcka kunddata från en slingcykel till en annan?
- Riskindikatorer är import, cron-jobb, transaktionsmejl och batchköhanterare.
- Se till att användardata isoleras i slingor. Adobe rekommenderar att du använder fabriker eller databaser för att skapa modeller i slingcykeln som inte är tillgängliga utanför slingan.