Je regardais Code Complete sur l'étagère, pensant: "En dehors du mois de l'homme mythique, cela pourrait être l'un des rares livres de génie logiciel du marché de masse à résister à l'épreuve du temps." Pour cette raison, je pense à me lancer pour le relire.
Je suis curieux - quelqu'un d'autre a-t-il récemment relu? J'ai donc, avez-vous vu quelque chose qu'il s'est vraiment trompé?
Ce n'est pas une attaque, et pas une demande de critique de livre - je suis plus intéressé par les idées qui ont changé au fil des ans.
Et s'il vous plaît - aucun commentaire sur, "Demarco / Spewak / Zachman a résisté à l'épreuve du temps ..." Je suis particulièrement intéressé par Code Complete en raison de l'étendue du terrain qu'il couvre et de l'ampleur de son impact sur le terrain.
Réponses:
Code Complete couvre de nombreux concepts intemporels tels que:
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.
la source
Dans l'ensemble, le livre est toujours bon. Cependant, j'ai quelques petits problèmes avec cela:
J'ai un vague souvenir d'un autre impliquant des arguments de fonction, mais je ne le trouve pas pour le moment. C'était peut-être un autre livre.
la source