Ich betrachtete Code Complete im Regal und dachte: "Außerhalb des Monats des mythischen Mannes ist dies möglicherweise eines der wenigen Bücher über Software-Engineering für den Massenmarkt, die den Test der Zeit bestehen." Aus diesem Grund überlege ich mir, es noch einmal durchzulesen.
Ich bin neugierig - hat jemand in letzter Zeit einen zweiten Blick darauf geworfen? Habt ihr gesehen, dass er sich sehr geirrt hat?
Dies ist kein Angriff und keine Bitte um eine Buchbesprechung - es interessiert mich mehr, welche Ideen sich im Laufe der Jahre geändert haben.
Und bitte - kein Kommentar zu "Demarco / Spewak / Zachman hat den Test der Zeit bestanden ..." Ich interessiere mich speziell für Code Complete, da es einen breiten Boden abdeckt und weitreichende Auswirkungen auf dem Feld hat.
Antworten:
Code Complete umfasst viele zeitlose Konzepte wie:
die heute sicherlich relevant sind.
Einige der in CC vertretenen Konzepte werden jetzt in neueren Sprachen syntaktisch durchgesetzt. In C # ist es beispielsweise nicht möglich, Variablen in Unterbereichen so zu definieren, dass eine Definition mit übergeordnetem Gültigkeitsbereich ausgeblendet wird.
Andere Konzepte, wie die ungarische Notation für Variablennamen, sind in der Mainstream-Programmierung auf der Strecke geblieben (obwohl alle, die noch mit der Win32-API arbeiten, vehement argumentieren werden, dass sie am Leben sind und gut funktionieren). Das eigentliche Konzept hinter der Namenskonvention für Variablen ist es jedoch, die notwendige Bedeutung zu vermitteln und den Code zu verdeutlichen. Konzepte, von denen ich behaupte, dass sie auch zeitlos sind.
Alles in allem kann ich mich daran erinnern (und einen kurzen Blick in meine ehrwürdige Kopie von CC werfen), dass es sich auf jeden Fall lohnt, sie zu überprüfen.
Ich glaube jedoch nicht, dass es zur wahrhaft zeitlosen Natur des Mythical Man Month aufsteigt. MMM befasst sich mit Fragen, wer die Arbeit macht, wie und warum sie es tut; sowie die Kosten und Komplexität der (menschlichen) Kommunikation. MMM spricht Themen an, die für alles, was wir tun, von grundlegender Bedeutung sind. Im Vergleich dazu konzentriert sich CC auf praktische und pragmatische Fragen, wie wir es tun. Anders ausgedrückt: Wenn ein Projekt im Verzug ist und ein Manager beschließt, 100 Mitarbeiter in das Team aufzunehmen, macht das Schreiben von verständlichem Code keinen großen Unterschied.
CC befasst sich nicht wirklich mit wichtigen Problemen, die unsere Branche belasten. Aber es bietet eine gute Grundlage für das Streben nach dem besten Ergebnis in einer oft unmöglichen Situation.
Ich würde sie beide sicherlich für erforderlich halten, um für alle zu lesen, denen die Softwareentwicklung am Herzen liegt. und ich würde empfehlen, MM immer dann erneut zu lesen, wenn Sie eine Auffrischung benötigen. CC ist es wert, erneut gelesen zu werden, wenn Sie ein Entwicklungsteam leiten, Gruppenstandards festlegen oder neuere Entwickler schulen. Abgesehen davon stelle ich persönlich fest, dass ich das Material vor langer Zeit in CC verinnerlicht und täglich geübt habe.
Hoffnungen, die helfen. Sie sind sicherlich zwei meiner Favoriten.
quelle
Insgesamt ist das Buch noch gut. Ich habe jedoch ein paar kleine Probleme damit:
Ich habe eine vage Erinnerung an eine andere, die Funktionsargumente enthält, kann sie aber im Moment nicht finden. Es könnte ein anderes Buch gewesen sein.
quelle