2011-01-09 12 views
6

Mi piace leggere il codice open source per vedere come sono stati risolti particolari problemi, o semplicemente per studiare come creare codice bello e pulito.C'è qualche libro che studia il codice open source Java?

Mi chiedevo se ci fosse effettivamente qualche buon libro là fuori che passi attraverso estratti di diversi (preferibilmente in Java) progetti open-source per mostrare come i modelli sono stati utilizzati e implementati, alcuni trucchi ingegnosi, ecc.?

Aggiornamento: Ho preso modelli di design come un esempio, ma non è davvero quello che sto dopo. Ho letto un sacco di codice open source e spesso trovo modi interessanti di fare cose a cui non avevo pensato prima - la mia domanda è se c'è un libro che mostra un codice open source "interessante", un po 'come come Clean Code utilizza il codice FitNesse per illustrare il refactoring e altri punti.

+1

Stai cercando campioni di codice specifici o solo modelli in generale? Se ci sono schemi ci sono parecchi libri là fuori su vari modelli e su come applicarli al meglio (e sono sicuro che la gente qui sarebbe più che felice di offrire raccomandazioni). – R0MANARMY

risposta

5

Bene, puoi leggere solo un libro sul progetto open source, e gli autori possono mostrare cosa e come. Per esempio. Ho letto Pro Spring 2.5 e c'è persino un capitolo chiamato "Pattern di primavera" con la spiegazione del perché e come chiamano file, directory, schemi di progettazione che usano e ti invitano ad usare ecc. Probabilmente dai un'occhiata ai libri sui progetti open source che studi.

UPDATE (solo che il punto di inserimento di estendere risposta :): come ho detto in precedenza, si può guardare attraverso i libri su progetti open source e trovare lì le informazioni come questo progetto si sviluppa, problemi di architettura ecc Una volta che ho guardato per un buon esempio di "principio aperto/chiuso", la teoria è buona, ma non direi che è così chiaro come usarlo. L'unico libro che mi ha aiutato è stato Expert Spring MVC and Web Flow (ti ho già indirizzato a google books con quel capitolo che ho letto). Non ho letto l'intero libro, ma sono sicuro che contiene molte di queste cose (cosa e come era stato usato per fare Spring). Dal libro Clean Code: A Handbook of Agile Software Craftsmanship ricordo che c'è un capitolo, quando prendono un codice da un progetto open source e lo rendono migliore (sfortunatamente l'open source non significa che sia abbastanza buono); quel libro contiene anche riferimenti a come alcuni altri progetti sono stati scritti (ad esempio jUnit). Non conosco nessun libro, che sia completamente dedicato a qualsiasi progetto, ci sono solo libri in cui è "teoria", e libri sul progetto che possono avere qualche spiegazione di cosa c'è dentro. Consiglierei i libri di APress (serie Pro e Expert, i libri "di inizio" afaik non contengono tale spiegazione) e Packt Publishing - il loro argomento principale è l'open source.

UPDATE 2 (appena non può smettere :) appena ricordato nuova serie di libri da OReilly "Beautiful ...." - Non ho mai letto, ma ho guardato attraverso. In realtà consiste in diverse storie dietro lo sviluppo, storie vere dalla vita. Vedo che c'è anche Beautiful Code: Leading Programmers Explain How They Think - Dovrei contenere quello che ti serve. Altri libri "belli" possono valere anche per il tuo tempo.

Sui modelli in generale ci sono molti buoni libri e dipende da cosa esattamente stai cercando. Per esempio. Head First Design Patterns è abbastanza buono per spiegare schemi comuni in modo divertente. Se hai bisogno di più, puoi dare un'occhiata a Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions per vedere come diverse applicazioni, sistemi, ecc. Possono essere integrati (e come lo fanno anche i progetti open source). Eccetera.Basta specificare quali modelli o trucchi fanno si desidera leggere, comunità farà il suo suggerimento;)

Alcuni link web fuori dai miei preferiti:

  1. Anti Patterns Catalog - sai quello che non si ha intenzione di fare!
  2. Design Patterns e Martin Fowler's Catalog - questo è poco su ciò che è buono da usare e conoscere
  3. SOA patterns - sito di community per i modelli SOA (integrazione ecc)

E alcuni più libri per dare un'occhiata a:

  1. Head First Object-Oriented Analysis and Design
  2. Agile Software Development, Principles, Patterns, and Practices
  3. Code Complete - questo libro è solo una Bibbia di come scrivere il codice ...

persone, che sviluppano open source sicuramente sanno che cosa sono quei libri su;)

Speranza che aiuta

UPDATE (25-05-2011) trovato una libro, che ho assolutamente intenzione di comprare, e penso che si adatta perfettamente alla tua domanda:

The Architecture of Open Source Applications
enter image description here

architetti guardano migliaia di edifici durante la loro formazione, e studiano critiche di quegli edifici scritti da maestri. Al contrario, la maggior parte degli sviluppatori di software conosce solo una manciata di grandi programmi - di solito programmi che hanno scritto da soli - e non studia mai i grandi programmi della storia. Di conseguenza, si ripetono gli errori degli altri piuttosto che basandosi sui reciproci successi. L'obiettivo di questo libro è quello di cambiarlo. In esso, gli autori di venticinque applicazioni open source spiegano come è strutturato il loro software e perché. Quali sono i componenti principali di ciascun programma? Come interagiscono? E cosa hanno imparato i loro costruttori durante il loro sviluppo? Nel rispondere a queste domande, i contributori a questo libro forniscono approfondimenti unici su come pensano. Le versioni elettroniche di The Architecture of Open Source Le applicazioni per e-reader saranno presto disponibili per il download.

+0

Alcuni di questi suggerimenti sui libri sono davvero eccellenti, ma sfortunatamente non sono all'altezza di ciò che sto cercando: ad esempio, Head First Design Patterns è molto buono, ma non fornisce esempi di vita reale. Il codice completo è anche una lettura fantastica, ma non è proprio ciò che sto cercando, in quanto fornisce solo piccoli esempi per illustrare i punti chiave. –

+0

Capisco cosa intendi, quindi suggerirei quel libro su Spring nel primo paragrafo. Una volta ho cercato un esempio di "principio aperto/chiuso", e la migliore spiegazione che ho trovato in un libro ... ho capito il tuo punto e ho intenzione di estendere la mia risposta un po '. Grazie per aver indicato – Maxym

+0

ho fatto anche il secondo round per completare la mia risposta. Spero che aiuti ... Altrimenti commenta la mia risposta, e penserò di più;) – Maxym

0

Miglior Java libro fuori non c'è assolutamente Head First Java, non ho mai visto/letto un libro divertente come questo + spiega le cose difficili nella forma più semplice e più divertente. Ma questo libro è un po 'vecchio, ma penso che sia ok se stai imparando le basi di Java

1

Buona domanda. Ma dubito che ci sia un libro basato su un vero progetto. Ma per rispondere alla tua parte "bella e pulita", Josh Bloch's Effective Java è il libro giusto.

1

Non sono sicuro se ci sono esempi Java (possiedo i libri, ma non li ho portati a scuola), ma se stai cercando consigli generali su come leggere il codice e valutarne la qualità, potresti essere interessato a Code Reading e Code Quality di Spinellis. Basandomi sulla tua domanda, sospetto che Code Reading sia più simile a quello che vuoi: guarda come puoi leggere il codice non familiare in modo efficace prima di modificarlo, comprendendo un codice complesso e così via.