Audit Drupal

Kuidas hinnata Drupal arenduse kvaliteeti

🎧 Kuula kõiki artikleid järjest

Hea Drupal-veeb töötab täna. Väga hea Drupal-veeb töötab ka pärast järgmist turvauuendust, järgmist arendajat ja järgmist kolme aastat.

Miks on Drupal arenduse kvaliteeti raske hinnata?

Veebilehe külastaja näeb kujundust, sisu ja kasutajakogemust. Ta ei näe koodi kvaliteeti, testimisprotsesse ega seda, kuidas süsteemi hooldatakse.

Seetõttu võib kaks visuaalselt sarnast veebilehte olla tehniliselt täiesti erineval tasemel. Üks neist võib olla lihtsalt uuendatav ja hooldatav, teine aga täis tehnilist võlga, mis muudab iga muudatuse kalliks ja riskantseks.

Drupal projekti kvaliteeti tasub hinnata mitte ainult tulemuse, vaid ka arendusprotsessi järgi.

Versioonihaldus ja juurutusprotsess

Kvaliteetse Drupal projekti alus on kontrollitud arendusprotsess.

Tavaliselt tähendab see:

  • Git versioonihaldust;
  • eraldi arendus-, test- ja tootmiskeskkonda;
  • dokumenteeritud juurutusprotsessi;
  • muudatuste ülevaatust enne avaldamist.

Kui muudatusi tehakse otse tootmiskeskkonnas või laaditakse faile üles FTP kaudu ilma versioonihalduseta, suureneb vigade ja teadmiste kadumise risk märgatavalt.

Hea küsimus partnerile on: kuidas jõuab üks koodimuudatus arendaja arvutist tootmiskeskkonda?

Automaattestid vähendavad riske

Iga Drupal projekt ei vaja sadu teste, kuid ärikriitilistes süsteemides on automaattestid oluline kvaliteedinäitaja.

Levinud lahendused on:

  • PHPUnit üksustestid;
  • integratsioonitestid;
  • Playwright või muud brauseritestid;
  • CI/CD protsessis käivitatavad kontrollid.

Testid aitavad tuvastada probleeme enne, kui need jõuavad kasutajateni.

Mida rohkem sõltub organisatsioon veebist, seda olulisemaks muutub testide olemasolu.

Composer ja sõltuvuste haldus

Kaasaegne Drupal arendus põhineb Composeril.

Composer võimaldab:

  • hallata mooduleid ja teeke;
  • uuendada sõltuvusi kontrollitult;
  • taastada keskkonda üheselt;
  • vähendada käsitsi tehtavaid muudatusi.

Drupal 10 ja Drupal 11 projektides on Composer praktiliselt standard.

Kui sõltuvusi hallatakse käsitsi, muutuvad uuendused keerulisemaks ja vigade tõenäosus kasvab.

Koodistandardid ja kvaliteedikontroll

Kvaliteetne kood ei ole ainult esteetiline küsimus.

Ühtsed standardid muudavad süsteemi loetavamaks, hooldatavamaks ja turvalisemaks.

Levinud kvaliteedikontrolli tööriistad on:

  • PHP_CodeSniffer;
  • PHPStan;
  • Rector;
  • automaatsed CI kontrollid.

Need aitavad leida probleeme enne, kui need jõuavad tootmiskeskkonda.

Custom-kood ja tehniline võlg

Drupal projektide suurim risk ei ole tavaliselt Drupal Core, vaid kohandatud arendused.

Auditis tasub hinnata:

  • custom-moodulite hulka;
  • dokumenteeritust;
  • sõltuvusi vanadest API-dest;
  • koodi keerukust;
  • hooldatavust.

Mida rohkem süsteem sõltub ühest konkreetsest arendajast, seda suurem on äriline risk.

Moodulite ja turvauuenduste seis

Drupal ökosüsteem areneb pidevalt ning moodulite seis mõjutab otseselt süsteemi kvaliteeti.

Kontrollida tasub:

  • kas turvauuendused on paigaldatud;
  • mitu moodulit vajab uuendamist;
  • kas kasutatakse aegunud mooduleid;
  • kas projekt on valmis järgmisteks Drupal versioonideks.

Kvaliteetne projekt ei tähenda ainult toimivat süsteemi, vaid ka võimet seda tulevikus turvaliselt uuendada.

Dokumentatsioon eristab projekti prototüübist

Hea dokumentatsioon vähendab sõltuvust üksikutest inimestest.

Minimaalselt võiks olemas olla:

  • paigaldusjuhend;
  • juurutusjuhend;
  • keskkondade kirjeldus;
  • oluliste integratsioonide dokumentatsioon;
  • tehniliste otsuste kokkuvõte.

Kui kogu teadmine eksisteerib ainult ühe inimese peas, muutub projekti hooldamine keeruliseks.

Mida küsida enne arenduspartneri vahetust?

Kui plaanid partneri vahetust või soovid hinnata olemasoleva projekti kvaliteeti, tasub küsida:

  1. Kus asub lähtekood?
  2. Kas ligipääs Git repositooriumile on olemas?
  3. Kas on testkeskkond?
  4. Kuidas toimub juurutamine?
  5. Kas automaattestid on olemas?
  6. Kas dokumentatsioon on ajakohane?
  7. Millal tehti viimane turvauuendus?

Nendele küsimustele antud vastused annavad sageli kiirema ülevaate projekti seisust kui pikk tehniline aruanne.

Hea Drupal projekt on hooldatav

Drupal arenduse kvaliteet ei väljendu ainult selles, kas veeb täna töötab.

Oluline on ka see, kas süsteemi saab turvaliselt uuendada, kas uus arendaja saab projektist aru ning kas organisatsioon suudab platvormi kasutada aastaid ilma, et iga muudatus muutuks riskantseks.

Kui projekti tegelik seis ei ole teada, aitab tehniline audit hinnata koodi kvaliteeti, hooldatavust, turvariske ja arendusprotsesse enne järgmisi suuremaid otsuseid.

Kaido Toomingas, WebPro tehniline juhtWebPro Company OÜ Tehniline juht: Kaido Toomingas

Vajad Drupal abi?

Kui artikkel puudutab sinu olukorda, ei pea kõike lõpuni lugema. Sinuga suhtleb päris inimene ja aitab järgmise sammuni jõuda.