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.
In realtà il nostro software poggia saldamente sul DMBS, ma non sul database e 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 del 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 avere uno zio così.
La t-shirt è una mia creazione. Una simpatica provocazione per i miei colleghi che hanno imparato a sopportarmi.