Java è indubbiamente uno dei linguaggi più conosciuti al mondo ma, purtroppo, si è spesso guadagnato la fama di essere anche molto prolisso. Per questo, esistono diverse librerie che tentano di ridurre la quantità di codice ripetitivo da scrivere – comunemente chiamato codice boilerplate – e Lombok, che conosciamo, oggi è proprio una di queste.
Pensiamo a quando una semplice classe deve custodire alcuni membri privati da manipolare tramite quel tipo di metodi conosciuti come getters e setters. Questi, insieme a costruttori e override dei metodi hashCode e toString, sono un’incombenza in capo al programmatore. Il codice da scrivere non è sicuramente dei più complessi anche perchè ormai tutti gli IDE più comuni si sono attrezzati prevedendo comandi da menu per la creazione automatica dei getters e setters. Lombok permette di utilizzare apposite annotation per la creazione automatica di questa tipologia di metodi al fine di garantire più leggibilità al codice e produttività allo sviluppatore.
Ad esempio, la seguente classe:
@Getter public class Studente { private String nome; private String cognome; private String matricola; }
prevederà già tutti i getter per i membri in virtù dell’annotazione indicata. Lo stesso si potrebbe fare con @Setter per quanto riguarda i metodi setter o @RequiredArgsConstructor per i costruttori passando per molte altre fino a @Data che fornisce un equipaggiamento completo per la classe.
Lombok in Android Studio
Lombok può essere integrato semplicemente in vari modi e per quanto riguarda Android Studio si può ricorrere all’utilissimo meccanismo di Gradle:
compile 'org.projectlombok:lombok:1.16.10'
Si faccia solo attenzione che affinchè l’IDE riesca ad utilizzare le funzionalità di Lombok è necessario:
- installare l’apposito plugin seguendo il menu File > Settings > Plugins. Una volta cliccato il pulsante “Browse repository” si potrà effettuare la ricerca del Lombok plugin;
- abilitare l’Annotation Processing. Per farlo, si chiuda il progetto – qualora aperto – e si entri nella configurazione alla voce “Build, Execution, Deployment” > Compiler > Annotation Processors, spuntando il flag ‘Enable annotation processing’.
Riaprendo a questo punto il progetto che vede Lombok tra le sue dipendenze, ci accorgeremo che la classe che espone le annotation di cui abbiamo parlato potrà essere utilizzata con tutto il set di metodi generati dalla libreria.
Java è magnifico ma un pò più di produttività in più non guasta mai pertanto impariamo ad apprezzare gli strumenti come Lombok e tutto ci risulterà più agevole.
Alla prossima!
No Responses to “Meno codice Boilerplate con Project Lombok”