Recensione: “Guide To Building Testable Applications in PHP”

Su invito del sempre attivo Daniel Londero, ho colto al balzo l’occasione per aggiudicarmi una copia del libro di Chris Hartjes, gratuitamente riservata ai PHP User Group che ne fanno una recensione. Eccomi dunque con qualche impressione in merito.

Il libro è un e-book di 60 pagine o poco meno, con un titolo decisamente accattivante: “Guide To Building Testable Applications in PHP”. A pensarci bene, esistono molte guide che spiegano perchè è importante fare test, come predisporre ambiente e tool per il testing, e anche come fare test nel concreto; ma quasi sempre in casi banali. Il problema è che poi ci si trova nella situazione in cui lo sviluppatore ha davanti a se un’applicazione che, per com’è stata progettata, non può essere testata, se non nelle sue componenti più banali. Ciò dato che l’impiego di alcune cattive pratiche (es. il ricorso a parametri “cablati” nel codice, o la non stratificazione della logica applicativa) o pattern (es. singleton) rendono assai difficile – e talvolta impossibile – il testing dell’applicazione e delle sue singole componenti.

La prima parte del libro vuole far fronte a queste problematiche, spiegando (anche con esempi di codice, secondo me assai validi) come impostare la propria applicazione (a livello architetturale). Vengono anche trattati alcuni concetti spesso ostici, ma fondamentali, dato che utilizzati in più parti dell’applicazione (es. ACL, Dependency Injection Container) o necessitanti di sistemi esterni per funzionare (es. autenticazione remota). La prima parte del libro è insomma assai utile e avvincente.

La seconda parte del libro raccoglie invece alcuni articoli estratti dal blog dell’autore. A mio modesto parere, gli stessi perdono buona parte dell’efficacia, della coerenza e della chiarezza espositiva della prima parte. Trattano comunque di argomenti importanti, troppo spesso sconosciuti o ignorati dagli sviluppatori (es. technical debt, infrastructure debt, continuous integration, rifiuto della paura di sbagliare, considerazione di codice testato nella scelta di librerie e framework da utilizzare nel proprio contesto di sviluppo). Questa collezione di articoli rende la parte sicuramente meno fluida e forse meno piacevole nella lettura. La parte contenutistica rimane, a mio parere, comunque di altissimo livello.

Considerate le conoscenze pregresse richieste (es. elementi di progettazione software a livello architetturale), può forse essere un testo ostico per gli assoluti principianti. Per tutti gli altri, non ci sono invece davvero scuse per non accapparrarsi una copia. Il costo del libro è infatti decisamente contenuto, lo stesso si legge molto velocemente e contiene suggerimenti e indicazioni (anche puntuali) molto validi; non ho davvero alcuna riserva nel consigliarlo a tutti. Potete acquistarlo qui.

Info su steve

@maraspin - Ingegnere dell'informazione, appassionato di PHP dai tempi di PHP/FI, Stefano Maraspin è PHP 5 Zend Certified Engineer. Managing partner di M.V. Associati, s'interessa di di User Centered Development e progettazione di Architetture Software, soprattutto negli ambiti del commercio elettronico e dei sistemi distribuiti. Il tempo libero è sempre troppo poco.
Questa voce è stata pubblicata in articoli, Recensioni e contrassegnata con , , , , , . Contrassegna il permalink.

Una risposta a Recensione: “Guide To Building Testable Applications in PHP”

  1. Pingback: 15 libri per iniziare o migliorare nella programmazione con PHP | PUG Friuli