Boost your OOP with FP

In questa sessione Uberto presenterà alcune considerazioni ed esperienze maturate nel ruolo di architetto-team leader per due importanti progetti in un ambiente corporate. Mentre da un lato i metodi agili ci aiutano a consegnare software nei tempi previsti, l’architettura rimane fondamentale per riuscire a rimanere “agili”, ovvero a mantenere il software facilmente modificabile man mano che cresce.

Object Oriented Programming (OOP) e Functional Programming (FP) sono spesso viste come paradigmi antitetici. In realtà non solo è possibile usarle insieme, ma anzi la maggior parte di progetti software può beneficiare molto da questo approccio.

Purtroppo oggi è anche difficile trovarsi d’accordo su cosa significhi “qualità del codice” e una delle ragioni è il fatto che abbiamo dimenticato cosa sia e a cosa serva la OOP. Parleremo di come usare insieme OOP e FP, con l’obiettivo di rendere più efficace la manipolazione dello stato; argomento questo che è alla radice della maggior parte dei difetti e delle mancate consegne.

Si cercherà di enfatizzare l’aspetto pratico, mostrando come sfruttare al massimo OOP+FP con esempi pratici di tecniche per tenere la complessità sotto controllo. L’obiettivo è arrivare a codice che sia Dichiarativo ad alto livello pur rimanendo Imperativo a basso livello.

Infine qualche consiglio su come lavorare con codice legacy e come gestire il team per rifattorizzarlo verso una maggiore flessibilità.

Sessione presentata da Uberto Barbini.

Uberto Barbini started programming videogames on the ZX Spectrum in the 80s. He published 2 books about Delphi and then switched to Java. He also worked on several opensource projects.

Since 2007 he is working in Dusseldorf at Vodafone VIS as teamleader and technical architect of various projects, including a big editorial tool written in GWT and a backend service provider in Osgi.

Currently he’s working on new technologies like GWT, Cloud computing and NoSQL. He tries to learn a new language every year. He is also very interested in Agile methodologies and active in agile user groups and conferences. He loves travelling and photography.