Code Complete umfasst viele zeitlose Konzepte wie:
- starker Zusammenhalt
- lose Kopplung
- gute Routinennamen
- defensive Programmierung
- selbstdokumentierender Code
- Software-Bewertungen
- Unit-Test
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.