SQL Algoritmi Kontrolna Lista

Verzija: 2.1
Opseg: Stored Procedures, Views, migracije i logika upita preko MS SQL / MySQL / SQLite.

MORA

  • [ ] Parametrizacija: nema string konkatenacije za SQL naredbe; striktno tipiziranje
  • [ ] Pretpostavke sheme su dokumentirane (Collation, Case Sensitivity, Null Semantics)
  • [ ] Transakcije su eksplicitne kada je potrebno; Isolation Level je obrazložen
  • [ ] Idempotentnost: migracije i setup skripte mogu sigurno pokrenuti (ili jasno navesti neindempotentnost)
  • [ ] Konkurentnost: ponašanje zaključavanja je razmotreno (Deadlocks, Long Locks, Escalation)
  • [ ] Strategija indeksa je validirana; promjene imaju obrazloženje i bilješke o utjecaju
  • [ ] Query Plans su pregledani za kritične putanje (MS SQL: Actual Plan; MySQL: EXPLAIN; SQLite: Query Plan)
  • [ ] Paginacija koristi deterministički redoslijed (nema „OFFSET bez ORDER BY“)
  • [ ] Date/Time semantika je eksplicitna (UTC vs Local; konverzije vremenske zone)
  • [ ] Obrada grešaka mapira DB greške u sigurne aplikacijske greške (nema curenja sheme)

TREBALO BI

  • [ ] Izbjegavati RBAR/Cursore gdje su dostupna set-based rješenja (osim ako obrazloženo)
  • [ ] Koristiti ograničene skupove rezultata; izbjegavati „SELECT *“ u javnim sučeljima
  • [ ] Pružiti test datasetove i regresijske upite za edge cases

POŽELJNO

  • [ ] Dokumentirati engine-specifične razlike (npr. LIMIT/OFFSET, RETURNING podrška, JSON funkcije)
  • [ ] Pružiti performanse baseline za tablice velikog volumena

Verzija: 2.1 (Split)
Autor: Wolfgang van der Stille

Natrag na Stack Kontrolne Liste | Kontrolne Liste za Pregled

Zuletzt geändert: 29.01.2026. u 20:58