Code Complete couvre de nombreux concepts intemporels tels que:
- forte cohésion
- couplage lâche
- bons noms de routine
- programmation défensive
- code auto-documenté
- critiques de logiciels
- tests unitaires
qui sont certainement pertinentes aujourd'hui.
Certains des concepts défendus dans CC sont désormais appliqués syntaxiquement dans les nouveaux langages, par exemple C # ne permet pas de définir des variables dans des sous-étendues d'une manière qui cache une définition super-étendue.
D'autres concepts, tels que la notation hongroise pour les noms de variables, ont été abandonnés dans la programmation traditionnelle (bien que quiconque travaille toujours avec l'API Win32 soutienne avec véhémence qu'ils sont bien vivants). Néanmoins, le véritable concept derrière la convention de dénomination des variables est de transmettre le sens nécessaire et de clarifier le code, des concepts qui selon moi sont également intemporels.
Tout compte fait, d'après ce dont je me souviens (et un rapide coup d'œil à l'intérieur de ma vénérable copie de CC), je dirais que cela vaut certainement la peine d'être examiné.
Je ne pense pas, cependant, que cela remonte à la nature vraiment intemporelle du Mois de l'homme mythique. MMM aborde les questions de qui fait le travail, comment et pourquoi le fait-il; ainsi que les coûts et la complexité des communications (humaines). MMM aborde des questions qui sont fondamentales pour tout ce que nous faisons. CC, en comparaison, se concentre sur les questions pratiques et pragmatiques de la façon dont nous le faisons. Autrement dit, si un projet est en retard et qu'un gestionnaire décide d'ajouter 100 personnes à l'équipe, l'écriture d'un code compréhensible ne fera pas vraiment de différence.
CC ne traite pas vraiment des problèmes importants qui affligent notre industrie; mais il fournit une bonne base pour rechercher le meilleur résultat dans une situation souvent impossible.
Je les considérerais certainement comme une lecture indispensable pour tous ceux qui se soucient du développement de logiciels; et je recommanderais de relire MM chaque fois que vous avez besoin d'un recyclage. CC mérite d'être relu si vous dirigez une équipe de développement, définissez des normes de groupe ou formez de nouveaux développeurs; en dehors de cela, je trouve personnellement que j'ai depuis longtemps intériorisé le matériel dans CC et que je le pratique quotidiennement.
Des espoirs qui aident. Ils sont certainement deux de mes préférés.