Dependency Inversion, Inversion of Control e Dependency Injection

Dependency Inversion, Inversion of Control e Dependency Injection

Nella programmazione a oggetti, si sente spesso parlare di Dependency Inversion e Inversion of Control (Principio di inversione delle Dipendenze,  Inversione del Controllo in italiano). Forse, i termini vi sono noti perché avete utilizzato Spring, ma sapete distinguerne le caratteristiche o comprenderne l’importanza?

In questo articolo cercherò di chiarire e introdurre i concetti che riguardano il Dependency Inversion, Inversion of Control e Dependency Injection. Leggi tutto “Dependency Inversion, Inversion of Control e Dependency Injection”

Ecco le 5 cose che ho detto al mio team

Oggi mi è capitato di leggere questo testo, un breve decalogo di un team lavorativo. Voglio condividerlo con voi.

ECCO LE 5 COSE CHE HO DETTO OGGI AL MIO (OTTIMO) TEAM PER MIGLIORARE LE COSE

Sincerità
Il primo passo per migliorare noi stessi e le relazioni con gli altri è essere sinceri. La sincerità costa, ma ripaga alla grande.

Coraggio
Coraggio nell’affrontare un problema con il desiderio di risolverlo, accettando il rischio di uno scontro, ma che nella maggior parte dei casi si trasforma in un incontro chiarificatore.

Consapevolezza
Acquisire la consapevolezza dell’interdipendenza e che quindi il mio o il tuo successo è il nostro successo, attiva immediatamente atteggiamenti molto più produttivi.

Collaborazione
Solo così un team sarà disponibile a collaborare sempre meglio, creando i presupposti per fare un grande salto di qualità basato su due fattori indispensabili: la fiducia reciproca e l’umiltà di ognuno nel mettersi a disposizione dell’altro, indipendentemente dal ruolo.

Condivisione
Senza dialogo costante non c’è relazione, senza relazione non esiste un gruppo. Condividere, ascoltare, parlare…spesso e bene. Conoscere l’altro sempre meglio.

Test Driven Development – Introduzione

 

Red Pill TDD

Questo articolo, sarà il primo di una lunga serie sul Test Driven Development (Sviluppo Guidato dai Test) o TDD.

Il processo di sviluppo TDD ha fatto il suo debutto circa 18 anni fa come parte integrante dell’Extreme Programming (XP) ed è ora adottato da tutti i team di sviluppo che fanno uso di metodi agili, e non solo. Io ne ho sentito parlare non più di 10 anni fa ed ero molto scettico al riguardo. All’inizio facevo delle prove per conto mio, mai in applicazioni che avrei dovuto sviluppare per lavoro. Prima il mio approccio era: analisi su carta, sviluppo, test completo, debug, correzione, test, analisi, debug, sbattimento di testa, debug, correzione, sviluppo, … e così via. Producendo software per soldi (ovvero per lavoro), non pensavo ci fosse tempo per scrivere degli Unit Test o, addirittura, partire dal test!

Adesso non rilascio una classe se prima non ci sono degli Unit Test che la coprono (torneremo in seguito sul Code Coverage) e, addirittura, non scrivo codice se prima non c’è un test che fallisce.

Ok per i test, ma non scrivere codice se non c’è un test che fallisce? Ma che significa?

Leggi tutto “Test Driven Development – Introduzione”