Una volta imparato uno o più linguaggi di programmazione è normale iniziare a domandarsi come organizzare il proprio codice: relazioni di dipendenza tra classi, modularizzazione, gestione delle dipendenze di terze parti, comunicazione sincrona e asincrona e una serie infinita di altri concetti che possono determinare la riuscita o meno di un progetto.

5 libri che uno sviluppatore non può non avere sul comodino

Vogliamo quindi proporvi 5 diverse letture che potranno chiarirvi le idee su molti di questi aspetti e farvi approcciare con una nuova visione l’organizzazione del vostro codice.

Clean Architecture

Robert Martin

Questo libro è sicuramente ottimo come prima lettura sull’argomento. I concetti sono definiti in modo chiaro e preciso. Robert Martin spiega a fondo i SOLID principles, le relazioni tra classi e tra diversi moduli di una stessa applicazione. Il libro fa capire l’importanza di consegnare codice di qualità e quali possono essere le conseguenze di scelte poco sagge.

I concetti sono sempre spiegati con esempi concreti e la lettura è molto piacevole.

Acquistalo su Amazon — >

Software Architecture in Practice

Len Bass, Paul Clements, Rick Kazman

Giunto alla terza edizione, Software Architecture in Practice, è sicuramente uno dei best seller sull’argomento Software Architecture. 

Questo libro definisce in modo eccellente la posizione dell’architettura software in un contesto aziendale. Spiega cosa ci si aspetta da un software architect e quali sono le best practice.

Anche questo è ottimo come prima lettura, in quanto i concetti sono espressi in modo non tecnico ed è fruibile anche da manager che vogliano approfondire l’argomento. 

Sicuramente un manuale non tecnico, ma non per questo meno impegnativo del testo di Robert Martin.

Acquistalo su Amazon — >

Software Systems Architecture

Nick Rozanski

Questo libro ha un approccio molto più pratico dei precedenti e si rivolge a chi effettivamente lavora come sviluppatore o software architect.

Nei primi capitoli spiega come approcciare l’organizzazione di un progetto completo in modo molto pratico, basandosi su pochi semplici e solidi presupposti teorici. I capitoli seguenti contengono delle checklist pratiche su diversi aspetti dell’architettura: sicurezza, affidabilità, ecc…

E’ un ottimo libro che ci sentiamo di consigliare per i motivi descritti sopra, magari dopo una prima lettura con uno dei libri elencati precedentemente.

Acquistalo su Amazon — >

The Process of Software Architecting

Peter Eles, Peter Cripps

Questo libro è forse più adatto per chi lavora in un contesto “enterprise”, in una azienda medio-grande con un determinato tipo e numero di procedure e livello manageriale.

Descrive il ruolo del software architect e si occupa di argomenti più comportamentali e organizzativi, come ad esempio quando fare una riunione, o come interfacciarsi con gli altri reparti dell’azienda.

Acquistalo su Amazon — >

Documenting Software Architecture

Paul Clements, Felix Bachmann

Per ultimo abbiamo voluto menzionare Documenting Software Architecture, uno dei grandi classici, anche conosciuto come “The Green Book” per la copertina della sua prima edizione.

Alla scrittura del libro hanno contribuito diversi autori. Il libro è di gran lunga la descrizione più completa e accurata del modello concettuale di architettura software.

I libro è pieno di consigli per chiunque sia coinvolto nella discussione o nella stesura di documentazione di un’architettura software. Fornisce un ottimo livello di dettaglio su come produrre documentazione completa e descrittiva delle decisioni architetturali.

Acquistalo su Amazon — >