Care este ordinea corectă în care trebuie citite aceste cărți? [închis] (Inginerie software, C#, Învățare, Cărți)

Tarek Saied a intrebat.

Sunt un dezvoltator junior C#, am învățat acasă și acum am obținut primul meu loc de muncă 🙂

Vreau să cumpăr aceste cărți. Dar care este ordinea corectă de a citi aceste cărți?

Code Complete: A Practical Handbook of Software Construction (Un manual practic de construcție de software)

Clean Code (Cod curat): Un manual de tehnici agile de realizare a software-ului

Programator pragmatic

Comentarii

  • Nu există o ordine corectă (așa cum a spus @Oded). Probabil că le veți citi (sau cel puțin porțiuni din ele) din nou și din nou. Așa că alegeți una, deschideți coperta și digerați 🙂 –  > Por Joel Etherton.
  • Înțelepciunea convențională spune că ar trebui să începi de la prima pagină și să termini la ultima pagină. 😉 –  > Por vaughandroid.
  • Nu văd niciun motiv pentru a da un vot negativ. –  > Por mmdemirbas.
  • +1 la o selecție bună de cărți corecte pentru îmbunătățiri ulterioare –  > Por Yusubov.
  • Iată o altă carte pe care ai putea să o dorești (mulți o consideră biblia C#.NET): Pro C# 2010 and the .NET 4 platform, ediția a cincea (s-ar putea să aibă în curând și una pentru .NET 5 și VS 2012). –  > Por Linuxios.
7 răspunsuri
Oded

Nu există o ordine „corectă” de citire a acestor cărți.

Fiecare dintre ele se concentrează pe diferite aspecte ale ingineriei software.

  • Clean Code – se concentrează pe codarea în mic. Cum să scrii clase și funcții.
  • Code Complete – se concentrează pe procesele de inginerie software.
  • Pragmatic Programmer – se concentrează pe lucrul în cadrul unei echipe care produce software.

Comentarii

  • @Downvoter – doriți să comentați? –  > Por Oded.
Yusubov

Felicitări pentru că ai obținut primul tău loc de muncă! Și tu chiar ai făcut alegeri bune pentru cărți!

Aceste cărți sunt capodopere pe care fiecare programator trebuie să le citească cel puțin o dată.

Din experiența mea personală, v-aș sfătui citiți cărțile în mod interschimbabil. Este un fapt că este posibil să vă obosiți/aburit de la o carte, iar trecerea la o carte conexă vă va face să vă re-concentrați și în spatele scenei dvs. creierul va începe să proceseze informațiile. Astfel, puteți beneficia la maximum de acest proces.

Editați: așa cum am menționat în comentariu, este un fel de soluție multi-threading pentru a adăuga un plus de eficiență 🙂

Cu toate acestea, nu supraîncălziți te. Având mai mult de 3 cărți s-ar putea să fie greu de gestionat în același timp.

Comentarii

  • Mi se pare amuzant că soluția unui programator la o problemă din viața reală este să implementeze multithreading 🙂 –  > Por Rotem.
  • @Rotem – Motivul este simplu și seamănă foarte mult cu un regex. Odată ce te apuci de o astfel de sarcină, problemele din viața reală încep să pară mult mai puțin serioase ;-), –  > Por Joris Timmermans.
Richard Morgan

Sunt de acord cu răspunsurile de tipul „nu există o ordine corectă”, dar voi oferi o altă perspectivă…

Începeți și digerați complet Cod complet. Este cea mai de bază, cea mai cuprinzătoare carte de bază. Petreceți MULT timp citind-o și recitind-o. Ar trebui să vă ofere cele mai multe randamente dacă sunteți începător.

habakuk

Am citit doar „Clean Code”, și a fost foarte bună. Unchiul Bob îți spune cum să devii un bun Software Craftsman și cum să scrii un cod curat care să poată fi menținut chiar și peste ani. Așa că poate ar trebui să citești mai întâi această carte 🙂 (Mi-aș fi dorit să o fi citit mai devreme).

Dacă doriți să aveți o viziune mai largă (asupra dependențelor dintre module), vă recomand și emisiunile sale de cod: http://www.cleancoders.com/

Vivian River

Eu am citit Pragmatic Programmer și sunt în curs de a citi „Code Complete”.

Din experiența mea de până acum, cred că „Pragmatic Programmer” este un bun punct de plecare pentru că oferă o viziune de nivel înalt asupra diferitelor probleme de codare. Am citit-o pe parcursul unei săptămâni; pe măsură ce o citeam, am fost imediat luminat de unele modalități mai bune de a rezolva problemele cu care mă confrunt în fiecare zi.

„Code Complete” este mai lungă și mai exhaustivă.

HoBa

Citesc și eu aceste cărți, iată care este ordinea mea:

  1. Clean Code
  2. Pragmatic Programer
  3. Code Complete

Comentarii

  • Mulțumesc că ai postat primul răspuns pe Programmers Stack Exchange. Nu știu sigur de ce ai avut un vot negativ la acesta, dar s-ar putea ca cel care a votat negativ să fi căutat nu doar o listă, ci și raționamente. Dacă nu ați făcut-o deja, vă rugăm să citiți FAQ, care include sfaturi despre cum să puneți întrebări și să dați răspunsuri și este recompensat cu o insignă programmers.stackexchange.com/faq. Mult noroc în viitoarea dvs. participare la stack exchange. Sper că o veți găsi informativă și plină de satisfacții. –  > Por DezvoltatorDon.
DeveloperDon

Aceste cărți au un mare merit.

De multe ori, dezvoltatorii intră în lucru știind în mare parte ceea ce fără prea multe detalii despre de ce. Cele trei cărți pe care le-ați ales oferă multe lucruri pentru a îmbunătăți ceea ce faceți ca programator și sunt bune pentru a oferi descrieri care să le susțină prescripțiile.

Citirea acestor cărți vă va deschide o mulțime de idei pe care poate nu vi le-ați fi imaginat niciodată. Mai târziu, pe măsură ce dobândiți experiență, veți obține și mai mult din aceste cărți, corelând ceea ce ați văzut cu ceea ce descriu ele.

Împreună, aceste cărți însumează peste 1500 de pagini. Este foarte mult de citit și aveți dreptate să stabiliți priorități și să trasați o secvență. Îți sugerez să descarci cuprinsul celor trei și să notezi capitolele din fiecare în funcție de ceea ce ai cel mai mult nevoie acum pentru munca ta. Ați putea compara și contrasta sfaturile lor cu privire la denumirea variabilelor și a claselor, dar cred că dacă ați citit despre denumire o dată, ar fi suficient. În mod similar, dacă echipa sau managerul dvs. are orientări, urmați-le.

Poate că le puteți împrumuta de la un prieten sau de la bibliotecă înainte de a le cumpăra. Sau poate chiar să petreceți câteva ore la librăria locală. Dacă vă casetați timpul de lectură, trecându-le pe toate trei în funcție de prioritățile dumneavoastră, luând notițe pe o foaie albă de hârtie, veți găsi vocabular și concepte pe care le puteți aplica astăzi la locul de muncă.

Pragmatic este o descriere excelentă a abordării de învățare pe care o doriți atunci când utilizați aceste cărți. Există o mulțime de suprapuneri între cele trei și cred că multe dintre ele au fost revizuite în surse accesibile pe internet. Există multe lucruri de care s-ar putea să constatați că aveți nevoie și care fie nu se regăsesc în aceste cărți, fie sunt abia atinse. Luați în considerare posibilitatea de a adăuga mai multe subiecte care depășesc domeniul de aplicare al acestor cărți:

  • Tutoriale pentru limbaje de programare.
  • Instrumente de control al sursei și de construire specifice organizației dumneavoastră.
  • Concepte și implementări ale structurilor de date în C#.
  • Biblioteci de clase standard în C#.
  • Standarde de codificare specifice organizației dumneavoastră.
  • Testare, probabil cu instrumente MS Test.
  • Linii directoare de proiectare UI / UX pentru platformele dumneavoastră.
  • Modele de proiectare aplicabile care, pentru C#, m-aș aștepta ca MVVM să fie cel mai critic.

Un alt aspect care cred că ar putea fi de ajutor este să luați în considerare data publicării, contextul și obiectivele fiecărei cărți. De la cea mai veche la cea mai nouă: Pragmatic 1999, Code Complete 2nd Ed. 2004, Clean Code 2008. Context: Pragmatic enumeră C, C++, Java în indexul său, dar nu și C#. Code Complete este o editură Microsoft Press, scrisă de un fost tip de la Microsoft și, pentru că lucrați cu un limbaj Microsoft, s-ar putea să existe o anumită afinitate, dar indexul are o singură intrare pentru C# și acesta este mai puțin apreciat decât Fortran la pagina 64.

Cartea lui Robert Martin este mult mai ancorată în abordarea Agile decât celelalte două, este cea mai nouă și are niște descrieri destul de bune ale denumirii, ale proiectării claselor și, probabil, mult mai mult ajutor cu concurența decât celelalte. Poate fi puțin nedrept, dar cărțile mai recente pot vorbi despre mai multe lucruri și lucruri mai noi, iar contextul lor este, în general, mai apropiat de ceea ce facem noi astăzi.

Fiecare dintre aceste cărți concurează, într-o anumită măsură, într-o gamă similară de subiecte. Te face să vrei să te întrebi: „Ce cărți de programare mai noi, cu o sferă largă de cuprindere, concurează în același spațiu?”.