Questo libro piuttosto maneggevole (meno di 400 pagine) è difficilmente inquadrabile.
Non è un tutorial su Visual Studio 2010 – anche se riporta parecchi shortcut utili nel suo uso quotidiano.
Non è un manuale su C# - anche se presenta diversi esempi di “buona” scrittura di codice.
Non è nemmeno un libro sui rinomati “Design Patterns” – anche se si appoggia ad alcuni di essi per portare avanti i suoi discorsi.
È piuttosto una raccolta ragionata su come scrivere al meglio sia il proprio codice, sia – e soprattutto – migliorare del codice esistente, il tutto utilizzando due strumenti: i Design Patterns come logica da seguire, e Visual Studio 2010 come ambiente di sviluppo.
Negli undici capitoli in cui è composto il libro l’autore affronta diverse problematiche relative al refactoring: migliorare la leggibilità, la manutenibilità, l’aderenza alle “best practices” di programmazione e soprattutto ai migliori “patterns” in uso per chi programma in ambito .NET, di qualsiasi applicazione si parli (Web, Windows, etc.).
Il lettore ideale di questo libro non deve presentare problemi nella comprensione del codice C# mostrato dall’autore: si presuppone che abbia già qualche anno di esperienza.
D’altronde si possono dare consigli su come scrivere codice “migliore” solo a chi già lo scrive da tempo, e non avrebbe senso proporre questo testo ai principianti.
I lettori sufficientemente già eruditi, invece, troveranno una miriade di piccole pillole di saggezza e buon senso per la scrittura del proprio codice, e questo rappresenta il vero valore aggiunto di un libro come questo.
A parte il primo capitolo di taglio molto introduttivo, i restanti dieci possono essere letti in ordine casuale in base alle proprie esigenze e necessità, anche se l’autore riesce ad esporli secondo una certa sequenza che passa dal refactoring più immediato (scrivere meglio il codice), a quello un attimo più complesso (strutturare meglio la propria applicazione).
Considerando che, a parte il primo, ogni capitolo è sulla trentina di pagine, direi che si riesce a leggerne compiutamente uno per sera, potendo disporre di almeno un paio di ore di assoluta tranquillità e conoscendo sufficientemente l’inglese per poter procedere con una certa speditezza.
L’inglese dell’autore, pur non difficile, richiede un minimo di impegno, dato che si possono trovare pagine e pagine di puro scritto, e qualche termine poco conosciuto è molto probabile che salti fuori.
Non ci sono esercizi da risolvere o domande riepilogative in stile quiz. Le immagini sono poco e nemmeno troppo definite.
Purtroppo il codice presentato negli esempi è indentato in maniera pessima, e si fa parecchia fatica a leggerlo con un colpo d’occhio. Questo difetto però non è additabile all’autore, quanto piuttosto alla scelta di scriverlo con un tipo di carattere molto largo, di scarsa leggibilità (senza grazie), e con tanto spazio attorno.
Inoltre il layout dei libri della Packt è, a mio modo di vedere, uno dei peggiori e più scarni oggi in circolazione tra le varie case editrici di libri di informatica. Servirebbe un radicale rinnovamento, prestando maggiore attenzione anche all’aspetto visivo, e non solo al contenuto.
A parte questo piccolo (ma mica tanto) difetti il libro merita sicuramente una lettura, e direi anche diverse “riletture”.
I consigli offerti dall’autore non si trovano spesso in altri testi, e fornisce quel “quid” che rende un programmatore .NET migliore di tanti altri.
Da questa pagina del sito della Packt è possibile visualizzare (non scaricare) il sommario dettagliato.
Ma soprattutto è possibile scaricare in formato Pdf il capitolo 6 completo (“Improving Class Quality”) di 39 pagine (comprensive però di introduzione; il capitolo in sé è un po’ meno lungo).
Non è presente però alcun codice scaricabile. Gli esempi vanno letti solo sul testo, a meno di non utilizzare la versione ebook del libro e poter così fare Copia&Incolla degli snippet di codice.
Anche se, effettivamente, il codice presentato non è moltissimo, un piccolo file zippato con gli esempi mostrati lo avrei reso comunque disponibile.
Attualmente il prezzo del libro su Amazon Italia è di 41 euro.
PRO
Chi ha già qualche anno di esperienza di sviluppo in ambito .NET troverà in questo libro una miriade di piccole pillole di saggezza per migliorare sempre di più il proprio codice e quello pre-esistente. Si possono approfondire i design patterns in pratica, aspetto sempre un po’ problematico da affrontare.
CONTRO
Il più grosso difetto di questo pur valido libro è l’aspetto estetico. Il layout generale è veramente scarno, non si usa il grassetto, il grigio, le cornici e tutti quei vari abbellimenti a cui ormai siamo abituati a ritrovare in testi di altre case editrici. Ma è soprattutto la pessima indentazione del codice che stona: praticamente tanti esempi sono quasi illeggibili.
Prezzo un po’ elevato.
Voto complessivo: 7/10
Lettore: Intermedio
Table of Contents
Preface
Chapter 1: Introduction to Refactoring
Chapter 2: Improving Code Readability
Chapter 3: Improving Code Maintainability
Chapter 4: Improving Code Navigation
Chapter 5: Improving Design Correctness
Chapter 6: Improving Class Quality
Chapter 7: Refactoring to Loosely Coupled
Chapter 8: Refactoring to Layers
Chapter 9: Improving Architectural Behavior
Chapter 10: Improving Architectural Structure
Chapter 11: Ensuring Quality with Unit Testing
Index
Per chi è interessato a sapere qualche dettaglio sull’autore, ecco un’immagine che lo descrive.