Qual è l'ordine corretto per leggere questi libri? [chiuso]


25

Sono uno sviluppatore C # junior, ho imparato a casa e ora ho ottenuto il mio primo lavoro :)

Voglio comprare questi libri. Ma qual è l'ordine corretto per leggere questi libri?

Codice completo: un manuale pratico di costruzione del software

Codice pulito: un manuale di artigianato software agile

Programmatore pragmatico


6
Non esiste un ordine corretto (come diceva @Oded). Probabilmente li leggerai (o almeno porzioni di essi) più e più volte. Quindi
scegline

8
La saggezza convenzionale dice che dovresti iniziare dalla prima pagina e terminare all'ultima pagina. ;)
vaughandroid,

1
Non vedo alcun motivo per votare.
mmdemirbas,

+1 alla buona selezione dei libri giusti per ulteriori miglioramenti
EL Yusubov,

Ecco un altro che potresti desiderare (molti lo considerano la bibbia C # .NET): Pro C # 2010 e la piattaforma .NET 4, quinta edizione (potrebbero anche averne presto una per .NET 5 e VS 2012).
Linuxios,

Risposte:


44

Non esiste un ordine "corretto" per leggere questi libri.

Ciascuno si concentra su diversi aspetti dell'ingegneria del software.

  • Clean Code - si concentra sulla codifica in piccolo. Come scrivere classi e funzioni.
  • Codice completo: si concentra sui processi di ingegneria del software.
  • Programmatore pragmatico - si concentra sul lavoro all'interno di un team che produce software.

7
@Downvoter - ti interessa commentare?
Oded,

12

Complimenti per aver ottenuto il tuo primo lavoro! E hai fatto davvero buone scelte di libri!

Questi libri sono capolavori che ogni programmatore deve leggere almeno una volta.

Dalla mia esperienza personale, consiglierei di leggere i libri in modo intercambiabile . È un dato di fatto che potresti annoiarti / annoiarsi da un libro e passare al libro correlato ti farà ri-focalizzare e dietro la scena il tuo cervello inizierà a elaborare le informazioni. Pertanto, è possibile trarre il massimo vantaggio da questo processo.

Modifica: come menzionato nel commento, è una sorta di soluzione multi-threading da aggiungere in efficienza :)

Tuttavia, non surriscaldarti . Avere più di 3 libri potrebbe essere difficile da gestire allo stesso tempo.


8
Trovo divertente che la soluzione di un programmatore a un problema di vita reale sia implementare il multithreading :)
Rotem,

@Rotem - Il motivo è semplice e molto simile a una regex. Una volta che inizi un compito del genere, i tuoi problemi di vita reale iniziano a sembrare molto meno gravi ;-),
Joris Timmermans,

4

Sono d'accordo con le risposte di "nessun ordine corretto", ma offrirò un giro diverso ...

Avvia e digita completamente il codice completo . È il libro base più semplice e completo. Trascorrere molto tempo a leggerlo e rileggerlo. Dovresti darti il ​​massimo dei guadagni se sei un principiante.


2

Ho letto solo "Clean Code", ed è stato molto buono. Lo zio Bob ti spiega come diventare un bravo artigiano del software e come scrivere un codice pulito che sia mantenibile anche negli anni. Quindi forse dovresti leggere prima questo libro :-) (Vorrei averlo letto prima).

Se vuoi avere una visione più ampia (sulle dipendenze tra i moduli), posso anche consigliare i suoi cast di codice: http://www.cleancoders.com/


1

Ho letto Pragmatic Programmer e sto leggendo "Codice completo".

Dalla mia esperienza finora, penso che "Pragmatic Programmer" sia un ottimo punto di partenza perché offre una visione di alto livello di diversi problemi di codifica. L'ho letto nel corso di una settimana; mentre l'ho letto, sono stato subito illuminato di alcuni modi migliori per risolvere i problemi che affrontavo ogni giorno.

"Codice completo" è più lungo ed esaustivo.


1

Sto anche leggendo quei libri, ecco il mio ordine:

  1. Codice pulito
  2. Programmatore pragmatico
  3. Codice completo

Grazie per aver pubblicato la tua prima risposta su Programmers Stack Exchange. Non sono sicuro del motivo per cui hai avuto un voto negativo su questo, ma potrebbe essere che il votante verso il basso non stesse cercando solo una lista, ma anche una motivazione. Se non lo hai già fatto, leggi le FAQ, che includono consigli su come porre domande e dare risposte e vengono premiate con un badge programmers.stackexchange.com/faq . Buona fortuna per la tua futura partecipazione allo scambio di stack. Spero che lo troverai informativo e gratificante.
Sviluppatore:

0

Questi libri hanno un alto merito.

Spesso gli sviluppatori entrano nel lavoro sapendo principalmente cosa senza molti dettagli sul perché . I tre libri che hai scelto offrono molto per migliorare ciò che fai come programmatore e sono bravi a fornire descrizioni per il backup delle loro prescrizioni .

Leggere questi libri ti aprirà a molte idee che potresti non aver mai immaginato. Più tardi, man mano che acquisisci esperienza, otterrai ancora di più da questi libri, mettendo in relazione ciò che hai visto con ciò che descrivono.

Insieme, questi libri ammontano a oltre 1500 pagine. È un sacco di lettura e hai ragione a dare la priorità e mappare una sequenza. Ti suggerisco di scaricare il sommario per tutti e tre e di classificare i capitoli in ciascuno secondo ciò di cui hai più bisogno ora per il tuo lavoro. Potresti confrontare e confrontare i loro consigli sulla denominazione di variabili e classi, ma penso che se leggi una volta sulla denominazione, sarebbe sufficiente. Allo stesso modo, se il tuo team o manager ha delle linee guida, seguile.

Forse puoi prenderli in prestito da un amico o da una biblioteca prima di acquistarli. O forse anche passare qualche ora nella tua libreria locale. Se cronometri la tua lettura, sfogliando tutti e tre in base alle tue priorità, prendendo appunti su un pezzo di carta bianco, troverai vocabolario e concetti che puoi applicare al lavoro oggi.

Pragmatic è un'ottima descrizione dell'approccio di apprendimento che desideri quando usi questi libri. C'è molta sovrapposizione tra i tre e penso che molto sia stato rivisitato in fonti accessibili dal web. Ci sono molte cose che potresti trovare di cui non hai bisogno in questi libri o che sono a malapena toccate. Considera di aggiungere altri argomenti che vanno oltre lo scopo di questi libri:

  • Tutorial sul linguaggio di programmazione.
  • Controllo delle risorse e organizzazioni specifici della tua organizzazione.
  • Concetti e implementazioni di strutture dati in C #.
  • Librerie di classi C # standard.
  • Standard di codifica specifici per la tua organizzazione.
  • Test, probabilmente con strumenti MS Test.
  • Linee guida di progettazione UI / UX per le tue piattaforme.
  • Modelli di progettazione applicabili che per C # mi aspetterei che MVVM fosse il più critico.

Un'altra considerazione che penso possa aiutare è quella di considerare la data di pubblicazione, il contesto e gli obiettivi di ciascun libro. Dal più vecchio al più recente: Pragmatic 1999, codice completo 2a edizione. 2004, Clean Code 2008. Contesto: elenchi pragmatici C, C ++, Java nel suo indice ma non C #. Il codice completo è Microsoft Press, scritto da un ex ragazzo di Microsoft, e poiché stai lavorando con un linguaggio Microsoft, potrebbe esserci qualche affinità lì, ma l'indice ha una voce per C # e ottiene meno amore di Fortran a pagina 64.

Il libro di Robert Martin è più intriso dell'approccio Agile rispetto agli altri due, è il più recente e ha alcune descrizioni abbastanza grandi di denominazione, design di classe e probabilmente molto più aiuto con la concorrenza rispetto agli altri. Potrebbe essere un po 'ingiusto, ma i libri successivi possono parlare di più cose e cose nuove, e il loro contesto è generalmente più simile a quello che facciamo oggi.

Ognuno di questi libri compete in una certa misura in una gamma simile di argomenti. In un certo senso ti viene voglia di chiedere: "Quali libri di programmazione più recenti e di ampia portata competono nello stesso spazio?"

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.