it-swarm.it

Quali sono i punti chiave di Code Complete?

Ho sentito molte persone menzionare Code Complete come un libro che vale la pena leggere. Sfortunatamente, sono così impegnato che non ho tempo di leggerlo, quindi qualcuno può dirmi quali sono i punti chiave del libro?

74
Casebash

Il codice completo riguarda l'arte del software; è un libro per principianti avanzati/di livello intermedio, scritto per il programmatore che lavora, ma sarebbe comunque molto utile per qualcuno che sta programmando da almeno un anno.

Quindi i punti chiave di Code Complete (2a edizione) sono ben riassunti nel suo capitolo 34, Temi nell'artigianato software. Come parafrasato dai miei appunti:

  1. Conquer Complexity : riduci il carico cognitivo sulla tua mente attraverso disciplina, convenzioni e astrazione.
  2. Scegli il tuo processo : fai attenzione alla qualità dall'inizio (requisiti) alla fine (distribuzione) e oltre (manutenzione).
  3. Scrivi prima i programmi per le persone, i computer in secondo luogo : la leggibilità del codice è estremamente importante per la comprensibilità, la capacità di revisione, il tasso di errore, la correzione degli errori, la modificabilità e il conseguente tempo di sviluppo e qualità.
  4. Programma nella tua lingua, non in esso : pensa a cosa? e perché? prima del come?
  5. Focalizza la tua attenzione con l'aiuto delle convenzioni : le convenzioni gestiscono la complessità fornendo la struttura dove è necessaria, in modo che la risorsa finale - la tua attenzione - possa essere efficacemente utilizzata .
  6. Programma in termini di dominio del problema : lavorare al massimo livello di astrazione possibile; il codice di livello superiore dovrebbe descrivere il problema da risolvere. Distinguere il livello del sistema operativo, il livello del linguaggio di programmazione, le strutture di implementazione di basso livello, i termini del dominio problematico di basso livello e infine i termini del dominio problematico di alto livello che avrebbero senso per l'utente (non programmatore).
  7. Watch for Falling Rocks : poiché la programmazione unisce arte e scienza, il buon senso è vitale, compresi i segnali di avvertimento.
  8. Iterate, ripetutamente, ancora e ancora : iterare requisiti, design, stime, codice, ottimizzazione del codice.
  9. Renderai Software e Religione Asunder : sii eclettico e pronto a sperimentare. Non essere un fanatico inflessibile, preclude la curiosità e l'apprendimento. Vai oltre con solo un martello nella tua cassetta degli attrezzi.

Ma i più importanti sono da asporto nel Capitolo 33, Personaggio personale : una volta che cerchi consapevolmente di migliorare come programmatore, puoi e lo farai. Il modo più veloce per farlo è quello di assumere gli atteggiamenti dei maestri programmatori (umiltà, curiosità, onestà intellettuale, disciplina, creatività), praticando anche le loro abitudini (molte buone abitudini sono elencate nel libro, ad esempio scegliendo buoni nomi di variabili/valori).

Inoltre, il libro chiarisce che il divario tra media ed eccellente nel software è immenso ; quel fatto da solo dovrebbe spingere il programmatore coscienzioso a migliorare se stesso.

Questo è il corto; la versione lunga è nel libro. :) Posso anche inviarti le mie note non così lunghe, non così brevi se vuoi maggiori dettagli. Ma il libro è sicuramente denaro e tempo ben spesi, anche se lo stile di scrittura è noioso a volte.

Oltre il codice completo, consiglio vivamente The Pragmatic Programmer . È per programmatori di livello intermedio, ben scritti e un ottimo mix di consigli di alto, medio e basso livello.

86
limist

È un libro intermedio, un pot-pourri di migliori pratiche di sviluppo software.

Se sei un programmatore principiante, non capirai molto del materiale e se sei esperto, il libro confermerà solo ciò che già conosci. Di conseguenza, il libro potrebbe essere di grande valore per i programmatori intermedi, che hanno già un po 'di conoscenza della programmazione, ma hanno bisogno di un libro delle migliori pratiche per legare tutto insieme.

Vengono spese diverse pagine su come formattare i blocchi di codice e i vantaggi relativi di ciascun approccio. Personalmente, penso che il grande dibattito su dove mettere le parentesi graffe sia finito. (o è?)

18
Robert Harvey