it-swarm-eu.dev

Was sind die wichtigsten Punkte von Code Complete?

Ich habe gehört, dass viele Leute Code Complete als ein Buch erwähnen, das es wert ist, gelesen zu werden. Leider bin ich so beschäftigt, dass ich keine Zeit habe, es zu lesen. Kann mir jemand sagen, was die wichtigsten Punkte des Buches sind?

74
Casebash

Bei Code Complete geht es um Software-Handwerkskunst. Es ist ein Buch für Fortgeschrittene und Fortgeschrittene, das für den arbeitenden Programmierer geschrieben wurde, aber es wäre immer noch sehr nützlich für jemanden, der seit mindestens einem Jahr programmiert.

Daher sind die wichtigsten Punkte von Code Complete (2. Aufl.) In Kapitel 34, Themen in Software Craftsmanship, gut zusammengefasst. Wie aus meinen Notizen umschrieben:

  1. Komplexität überwinden : Reduzieren Sie die kognitive Belastung Ihres Geistes durch Disziplin, Konventionen und Abstraktion.
  2. Wählen Sie Ihren Prozess aus : Achten Sie auf die Qualität von Anfang (Anforderungen) bis Ende (Bereitstellung) und darüber hinaus (Wartung).
  3. Schreiben Sie Programme für Menschen zuerst, Computer zweitens : Die Lesbarkeit des Codes ist äußerst wichtig für die Verständlichkeit, Überprüfbarkeit, Fehlerrate, Fehlerkorrektur, Modifizierbarkeit und die daraus resultierende Entwicklungszeit und Qualität.
  4. Programmiere in deine Sprache, nicht in sie : Denk an das Was? und warum? vor dem Wie?
  5. Konzentrieren Sie Ihre Aufmerksamkeit mithilfe von Konventionen : Konventionen verwalten die Komplexität, indem sie die Struktur dort bereitstellen, wo sie benötigt wird, damit die ultimative Ressource - Ihre Aufmerksamkeit - effektiv genutzt werden kann .
  6. Programm in Bezug auf die Problemdomäne : Arbeiten auf der höchstmöglichen Abstraktionsebene; Der Code der obersten Ebene sollte das zu lösende Problem beschreiben. Unterscheiden Sie Betriebssystemebene, Programmiersprachenebene, Implementierungsstrukturen auf niedriger Ebene, Problemdomänenbegriffe auf niedriger Ebene und schließlich Problemdomänenbegriffe auf hoher Ebene, die für den (Nicht-Codierer-) Benutzer absolut sinnvoll wären.
  7. Achten Sie auf fallende Steine ​​: Da die Programmierung Kunst und Wissenschaft miteinander verbindet, ist ein gutes Urteilsvermögen von entscheidender Bedeutung, einschließlich der Beachtung von Warnzeichen.
  8. Iterieren, wiederholt, immer wieder : Anforderungen, Design, Schätzungen, Code, Code-Optimierung iterieren.
  9. Du sollst Software und Religion trennen : Sei vielseitig und experimentierfreudig. Sei kein unflexibler Eiferer, es schließt Neugier und Lernen aus. Gehen Sie über einen Hammer in Ihrem Werkzeugkasten hinaus.

Aber die wichtigsten Take-Aways finden Sie in Kapitel 33, Persönlicher Charakter : Sobald Sie bewusst versuchen, sich als Programmierer zu verbessern, können und werden Sie. Der schnellste Weg, dies zu tun, besteht darin, die Einstellungen von Master-Programmierern (Demut, Neugier, intellektuelle Ehrlichkeit, Disziplin, Kreativität) zu übernehmen und gleichzeitig zu üben ihre Gewohnheiten (viele gute Gewohnheiten sind im Buch aufgeführt, z. B. die Auswahl guter Variablen-/Wertnamen).

Das Buch macht auch deutlich, dass die Kluft zwischen durchschnittlich und ausgezeichnet in Software immens ist ; allein diese Tatsache sollte den gewissenhaften Programmierer dazu bringen, sich zu verbessern.

Das ist das kurze daran; Die lange Version ist im Buch. :) Ich kann Ihnen auch meine nicht so langen, nicht so kurzen Notizen senden, wenn Sie weitere Details wünschen. Aber das Buch ist sicherlich Geld und Zeit gut angelegt, auch wenn der Schreibstil manchmal lästig ist.

Über Code Complete hinaus würde ich The Pragmatic Programmer empfehlen. Es ist für Programmierer der Mittelstufe gedacht, gut geschrieben und eine großartige Mischung aus Ratschlägen auf hoher, mittlerer und niedriger Ebene.

86
limist

Es ist ein Zwischenbuch, ein Potpourri an Best Practices für die Softwareentwicklung.

Wenn Sie ein Anfänger sind, werden Sie nicht viel von dem Material verstehen, und wenn Sie Erfahrung haben, wird das Buch nur bestätigen, was Sie bereits wissen. Infolgedessen ist das Buch möglicherweise für fortgeschrittene Programmierer von größtem Wert, die bereits über einige Programmierkenntnisse verfügen, jedoch ein Buch mit bewährten Methoden benötigen, um alles miteinander zu verknüpfen.

Auf mehreren Seiten wird beschrieben, wie Codeblöcke formatiert werden und welche relativen Vorteile die einzelnen Ansätze haben. Persönlich denke ich, dass die große Debatte darüber, wo Sie Ihre geschweiften Klammern anbringen sollen, vorbei ist. (oder ist es?)

18
Robert Harvey