Software open source con una buona documentazione del codice per migliorare le capacità di progettazione [chiuso]

5

Dato che sto cercando di migliorare la progettazione di un buon software, mi chiedo se ci sia un software open source valido (come in ben scritto) con molta documentazione sul codice che mira a spiegare i dettagli sul perché questo o quel progetto la scelta è stata fatta nel contesto di quel problema specifico. Sono interessato a OOP e non mi interessa molto della lingua (php / java / c # sono i preferiti tho:))

Esempio:

Problema: X
Possibile modo di gestire questo problema: A, B, C.
Scegliamo B perché ... (dettagli tecnici sull'implementazione, pro e contro, commenti al codice, ecc.)

    
posta Geeo 19.07.2012 - 15:23
fonte

5 risposte

1

Un buon esempio è il kernel di Linux. La mailing list spiega molte decisioni di design, e ci sono anche libri che descrivono perché gli interni sono scritti come sono (un esempio è Capire il kernel di Linux , anche se sembra che ce ne siano molti altri. Anche Linux Magazine ha (o almeno ha usato) un riassunto della mailing list che parla delle principali discussioni / decisioni progettuali nella comunità del kernel.

EDIT: Poiché il kernel può intimidire solo per iniziare "l'apprendimento", ecco alcune aree con cui iniziare:

  • Pianificazione attività
  • Allocazione memoria kernel
  • file system

Se limiti l'ambito a un singolo componente, dovrebbe essere più facile da capire.

Inoltre, per leggere facilmente il codice durante la lettura della documentazione, potrebbe essere utile consultare LXR .

    
risposta data 19.07.2012 - 22:11
fonte
4

Questi libri offrono alcune prospettive di alto livello su come e perché alcuni software open source sono progettati nel modo in cui sono: L'architettura delle applicazioni open source

Ci sono due volumi che coprono un'ampia varietà di progetti open-source, sia vecchi che nuovi. Ad esempio:

  • L'articolo su bash copre un certo numero di punti decisionali e ha anche una sezione verso la fine su "Cosa Avrei fatto diversamente "per fornire una retrospettiva.
  • L'articolo su Eclipse fornisce diversi diagrammi, frammenti di codice e discute alcune delle evoluzioni attraverso i vari principali versioni è stato rilasciato sotto.
risposta data 07.03.2013 - 15:22
fonte
2

Il libro Beautiful Code presenta problemi di progettazione e relative soluzioni. Non ricordo se tutti i capitoli riguardano progetti open source, ma almeno uno di essi (il capitolo su un particolare problema di progettazione in SVN) lo fa.

    
risposta data 19.07.2012 - 22:22
fonte
1

Consiglierei di leggere due libri.

Per me questo primo è IL MIGLIOR BOOK SU PROGRAMMAZIONE MAI! :) (E non importa se non usi C #, puoi comunque leggerlo)

Principi, modelli e pratiche agili in C #

Pulisci codice

Penso davvero che il primo dovrebbe essere letto da ogni programmatore.

Modifica: Questi libri sono una grande risorsa per le persone che stanno cercando di migliorare nel progettare un buon software. Persone in cerca di buoni esempi di codice / codice open source (come in ben scritti) con molta documentazione sul codice che mira a spiegare i dettagli sul perché questa o quella scelta di progettazione sia stata fatta nel contesto di quella specifica serie di problemi. Inoltre ha una grande sezione sull'organizzazione dei tuoi assemblaggi. Non l'ho visto in nessun libro di programmazione. E ho letto probabilmente 30.

    
risposta data 07.03.2013 - 12:09
fonte
-1

C'è una quantità enorme di codice disponibile per le classi di sistema Java. Probabilmente manca il livello di documentazione desiderato, ma è un vero codice che risolve i problemi reali. Se lavori in Java comunque può essere facile da ottenere e davvero interessante.

    
risposta data 19.07.2012 - 19:39
fonte