“The database is just a detail…”

Questa frase può sembrare innocente ma no lo è.
Al contraio è dirompente.
Per chi lavora come me in PL\SQL il database è la piattaforma di lavoro quindi dire che il database è un dettaglio è sovversivo…a prima vista.
Già perchè se ci fermiamo a riflettere non saremo mai dei buoni specchi :).
In realtà il nostro software poggia saldamente sul DMBS ma non sul database, la differenza è significativa.
PL\SQL è la crasi di due elementi distinti PL e SQL.
SQL esiste solo in virtù del database (tabelle, viste ecc).
PL è un linguaggio procedurale che viene compilato ed eseguito da Oracle ma che funziona anche in assenza di oggetti di database.
E sai che scoperta!
Le implicazioni invece sono profonde.
Il codice PL puro, non facendo riferimento al database, può essere sottoposto a unit test automatici e ripetibili.
Fare la stessa cosa su codice PL\SQL (quello bello infarcito con select, insert ed update) è ben diverso perchè per effettuare un test è necessario creare il giusto contesto dati sul database, infatti un test dele genere è già system.
Se la tematica vi intriga ho approfondito il tutto in un ebook “PL/SQL OOP Style”.
La frase che da’ il titolo al post è una citazione del mitico Robert C. Martin dal libro “Clean Code” che continua ad essere per me un’ importante fonte di ispirazione, che bello sarebbe magari avere uno zio così.
La t-shirt è una mia creazione, una simpatica provocazione per i miei colleghi che hanno imparato a sopportarmi.

Autore: ferro

Software analyst e developer con la passione per la scrittura