Was ist die richtige Reihenfolge, um diese Bücher zu lesen? [geschlossen]

25

Ich bin ein Junior-C # -Entwickler, ich habe zu Hause gelernt und jetzt habe ich meinen ersten Job bekommen :)

Ich möchte diese Bücher kaufen. Aber wie ist die richtige Reihenfolge, um diese Bücher zu lesen?

Code Complete: Ein praktisches Handbuch zur Software-Erstellung

Clean Code: Ein Handbuch für agiles Software-Handwerk

Pragmatischer Programmierer

Tarek Saied
quelle
6
Es gibt keine korrekte Reihenfolge (wie @Oded sagte). Sie werden sie wahrscheinlich immer und immer wieder lesen (oder zumindest Teile davon). Also nimm eine, knack die Decke und verdau sie :)
Joel Etherton
8
Konventionelle Weisheit besagt, dass Sie auf der ersten Seite beginnen und auf der letzten Seite enden sollten. ;)
Vaughandroid
1
Ich sehe keinen Grund für eine Ablehnung.
mmdemirbas
+1 auf eine gute Auswahl an richtigen Büchern für weitere Verbesserungen
EL Yusubov
Hier ist eine weitere, die Sie vielleicht haben möchten (viele halten sie für die C # .NET-Bibel): Pro C # 2010 und die .NET 4-Plattform (fifith edition) (möglicherweise gibt es in Kürze sogar eine für .NET 5 und VS 2012).
Linuxios

Antworten:

44

Es gibt keine "richtige" Reihenfolge zum Lesen dieser Bücher.

Sie konzentrieren sich jeweils auf verschiedene Aspekte des Software-Engineerings.

  • Clean Code - konzentriert sich auf das Codieren im Kleinen. Wie man Klassen und Funktionen schreibt.
  • Code Complete - konzentriert sich auf die Prozesse der Softwareentwicklung.
  • Pragmatischer Programmierer - konzentriert sich auf die Arbeit in einem Team, das Software produziert.
Oded
quelle
7
@Downvoter - Möchtest du einen Kommentar abgeben?
Oded
12

Herzlichen Glückwunsch zum ersten Job! Und Sie haben wirklich gute Buchentscheidungen getroffen!

Diese Bücher sind Meisterwerke, die jeder Programmierer mindestens einmal lesen kann.

Aus meiner persönlichen Erfahrung würde ich raten, Bücher austauschbar zu lesen . Es ist eine Tatsache, dass Sie von einem Buch müde / gelangweilt werden und der Wechsel zu einem verwandten Buch dazu führt, dass Sie sich wieder konzentrieren und Ihr Gehirn hinter die Kulissen tritt, um die Informationen zu verarbeiten . So können Sie maximal von diesem Prozess profitieren.

Edit: Wie im Kommentar erwähnt, ist es eine Art Multithreading-Lösung , um die Effizienz zu steigern :)

Überhitzen Sie sich jedoch nicht . Es kann schwierig sein, mehr als drei Bücher gleichzeitig zu haben.

EL Yusubov
quelle
8
Ich finde es amüsant, dass die Lösung eines Programmierers für ein echtes Problem darin besteht, Multithreading zu implementieren :)
Rotem
@Rotem - Der Grund dafür ist einfach und einem Regex sehr ähnlich. Sobald Sie mit einer solchen Aufgabe beginnen, werden Ihre Probleme im wirklichen Leben viel weniger ernst ;-),
Joris Timmermans,
4

Ich bin mit den Antworten "Keine richtige Reihenfolge" einverstanden, biete aber einen anderen Dreh an ...

Starten und vollständig verdauen Sie Code Complete . Es ist das grundlegendste und umfassendste Basisbuch. Verbringen Sie viel Zeit mit Lesen und erneutem Lesen. Wenn Sie Anfänger sind, sollten Sie die meisten Gewinne erzielen.

Richard Morgan
quelle
2

Ich habe nur "Clean Code" gelesen und es war sehr gut. Onkel Bob erklärt Ihnen, wie Sie ein guter Software-Handwerker werden und wie Sie sauberen Code schreiben, der auch in Jahren noch gewartet werden kann. Also solltest du dieses Buch vielleicht zuerst lesen :-) (Ich wünschte, ich hätte es früher gelesen).

Wenn Sie eine größere Ansicht (über Abhängigkeiten zwischen Modulen) erhalten möchten, kann ich auch seine Code-Casts empfehlen: http://www.cleancoders.com/

Habakuk
quelle
1

Ich habe Pragmatic Programmer gelesen und lese gerade "Code Complete".

Aus meiner bisherigen Erfahrung denke ich, dass "Pragmatic Programmer" ein großartiger Ausgangspunkt ist, da es einen Überblick über verschiedene Codierungsprobleme gibt. Ich las es im Laufe einer Woche; Als ich es las, wurde ich sofort über einige bessere Möglichkeiten aufgeklärt, Probleme zu lösen, mit denen ich mich jeden Tag befasse.

"Code Complete" ist länger und vollständiger.

Reismehl Cookies
quelle
1

Ich lese auch diese Bücher, hier ist meine Bestellung:

  1. Code bereinigen
  2. Pragmatischer Programmierer
  3. Code abgeschlossen
Homero Barbosa
quelle
Vielen Dank für Ihre erste Antwort auf Programmers Stack Exchange. Ich bin mir nicht sicher, warum Sie in dieser Sache eine Abwärtsstimme hatten, aber es könnte sein, dass der Abwärtswähler nicht nur nach einer Liste, sondern auch nach einer Begründung suchte. Wenn Sie dies noch nicht getan haben, lesen Sie bitte die FAQ, die Beratung Fragen zu stellen und Antworten zu geben enthält und mit einem Abzeichen belohnt programmers.stackexchange.com/faq . Viel Glück bei Ihrer zukünftigen Teilnahme am Stapelaustausch. Ich hoffe, Sie finden es informativ und lohnend.
DeveloperDon
0

Diese Bücher haben einen hohen Verdienst.

Oft nehmen Entwickler an der Arbeit teil und wissen meistens, was, ohne genau zu wissen, warum . Die drei Bücher, die Sie ausgewählt haben, bieten eine Menge Möglichkeiten zur Verbesserung Ihrer Programmierkenntnisse und können Beschreibungen zur Sicherung ihrer Verschreibungen bereitstellen .

Das Lesen dieser Bücher wird Sie für viele Ideen öffnen, die Sie sich vielleicht nie hätten vorstellen können. Wenn Sie später Erfahrungen sammeln, werden Sie noch mehr aus diesen Büchern herausholen und das, was Sie gesehen haben, mit dem in Verbindung bringen, was sie beschreiben.

Zusammen umfassen diese Bücher mehr als 1500 Seiten. Das ist viel Lesen, und Sie haben Recht, eine Sequenz zu priorisieren und abzubilden. Ich schlage vor, dass Sie das Inhaltsverzeichnis für alle drei herunterladen und die Kapitel nach dem benotet, was Sie jetzt für Ihren Job am meisten benötigen. Sie könnten ihre Ratschläge zur Benennung von Variablen und Klassen vergleichen und gegenüberstellen, aber ich denke, wenn Sie die Benennung einmal lesen, würde es ausreichen. Wenn Ihr Team oder Manager Richtlinien hat, befolgen Sie diese.

Vielleicht können Sie diese von einem Freund oder einer Bibliothek ausleihen, bevor Sie sie kaufen. Oder vielleicht verbringen Sie sogar ein paar Stunden in Ihrem örtlichen Buchladen. Wenn Sie Ihre Lektüre zeitlich einschränken, alle drei anhand Ihrer Prioritäten durchgehen und Notizen auf ein leeres Blatt Papier machen, werden Sie Vokabeln und Konzepte finden, die Sie heute bei der Arbeit anwenden können.

Pragmatic ist eine hervorragende Beschreibung des Lernansatzes, den Sie bei der Verwendung dieser Bücher wünschen. Es gibt eine Menge Überschneidungen zwischen den drei, und ich denke, dass in Quellen, auf die über das Internet zugegriffen werden kann, vieles überarbeitet wurde. Es gibt viele Dinge, die Sie vielleicht brauchen, die entweder nicht in diesen Büchern enthalten sind oder die kaum berührt werden. Erwägen Sie, weitere Themen hinzuzufügen, die über den Umfang dieser Bücher hinausgehen:

  • Lernprogramme für Programmiersprachen.
  • Spezifische Quellcodeverwaltung und Build-Tools Ihres Unternehmens.
  • Konzepte und Implementierungen von Datenstrukturen in C #.
  • Standardbibliotheken der C # -Klasse.
  • Spezifische Kodierungsstandards für Ihre Organisation.
  • Testen, wahrscheinlich mit MS Test Tools.
  • UI / UX-Designrichtlinien für Ihre Plattformen.
  • Anwendbare Entwurfsmuster, von denen ich für C # erwarten würde, dass MVVM die kritischste ist.

Eine andere Überlegung, von der ich denke, dass sie helfen könnte, ist, das Veröffentlichungsdatum, den Kontext und die Ziele jedes Buches zu berücksichtigen. Von alt nach neu: Pragmatic 1999, Code Complete 2nd Ed. 2004, Clean Code 2008. Kontext: Pragmatisch listet C, C ++, Java in seinem Index auf, aber nicht C #. Der vollständige Code ist Microsoft Press, geschrieben von einem ehemaligen Microsoft-Mitarbeiter. Da Sie mit einer Microsoft-Sprache arbeiten, besteht möglicherweise eine gewisse Affinität, aber der Index enthält einen Eintrag für C #, und er wird weniger geliebt als Fortran auf Seite 64.

Das Buch von Robert Martin ist mehr in den agilen Ansatz als die beiden anderen eingetaucht, ist das neueste und enthält einige ziemlich gute Beschreibungen zu Benennung, Klassendesign und wahrscheinlich viel mehr Hilfe bei der Parallelität als die anderen. Es mag ein wenig unfair sein, aber die späteren Bücher können über mehr und neuere Dinge sprechen, und ihr Kontext ist im Allgemeinen mehr wie das, was wir heute tun.

Jedes dieser Bücher konkurriert zu einem gewissen Grad in einem ähnlichen Themenspektrum. Irgendwie möchte man fragen: "Welche neueren, breit gefächerten Programmbücher konkurrieren im selben Raum?"

DeveloperDon
quelle