Commentaire client

11 internautes sur 12 ont trouvé ce commentaire utile 
5.0 étoiles sur 5 Un livre de chevet, 22 juin 2008
Ce commentaire fait référence à cette édition : Tout sur le code : Pour concevoir du logiciel de qualité, dans tous les langages (Broché)
Le meilleur investissement que puisse faire un développeur consiste sans doute à acheter ce livre et à en faire son livre de chevet. Beaucoup en ont réellement besoin, à commencer par ceux qui disent « Non, pas moi. ».

Je considère d'ailleurs qu'un développeur qui croit n'avoir pas besoin de lire ce livre ou un livre similaire (Code Craft, The Practice of Writing Excellent Code de Peter Goodliffe, par exemple) est un développeur *dangereux* pour son employeur. Son code est probablement difficilement maintenable, y compris par lui-même.

Évidemment, le seul fait de lire un tel livre ne fait pas instantanément d'un débutant un expert confirmé. Mais ce livre fait naître les bons réflexes, c'est-à-dire ceux qui mènent à l'expert confirmé, justement. Après cette lecture, vous ne lirez plus votre code et celui des autres de la même façon. Vous ne vous poserez plus les mêmes questions -- vous vous poserez les *bonnes* questions. Et nous aurons enfin du code maintenable !

Code Complete est un livre exceptionnel en ce qu'il s'intéresse à *tous* les aspects du développement logiciel, l'accent étant mis sur la réalisation (ou programmation) dont rien n'est laissé au hasard :

- Quelles sont les meilleures pratiques pour nommer une variable, une propriété, une constante, une fonction, un fichier, pour tester une méthode, pour restreindre la visibilité d'un symbole ?

- Quelle est la longueur idéale d'une fonction, d'un fichier et pourquoi ?

- Comment effectuer une revue de code efficace ?

- Comment exprimer simplement un test qui fait intervenir quatre OU et trois ET ?

- Comment mettre en oeuvre une table de décision, comment trouver un bug, comment programmer défensivement ?

- Faut-il vraiment éviter les GOTO ? Une fonction doit-elle vraiment posséder un seul return ?

- Quels commentaires pouvons-nous supprimer sans hésiter ? Quelles sont les informations qui doivent figurer dans le cartouche d'une fonction, d'un fichier ? Est-ce vraiment utile ?

- À quel moment doit-on commencer à se soucier des performances ? Comment ordonner les cas d'une instruction Case ? Quand une série de if-else if est-elle préférable à un case ? Et comment doit-on gérer les erreurs ?

Rien dans ce livre n'est gratuit : quand l'auteur propose une avenue, il la justifie systématiquement. Vous pouvez ne pas être d'accord avec lui sur tout, bien sûr, mais il a raison la plupart du temps puisqu'il s'appuie sur son expérience, sur celle des autres et sur de nombreuses études (ou hard data - par exemple, la section concernant les boucle while mentionne les résultats assez étonnants d'une études montrant qu'un programmeur comprend beaucoup plus facilement une boucle dont la condition de sortie est exprimée dans le corps de la boucle plutôt que dans le point d'entrée ou de sortie...).

Ce livre propose assez souvent tout l'inverse des normes de programmation qu'on vous imposera un peu partout (au point d'ailleurs où l'on finit par se demander si ceux qui les rédigent ont déjà fait de la maintenance). Ces normes imposent trop souvent un style de programmation « par principes » (si vous rencontrez telle situation, faites ceci), ce qui est tout le contraire de la programmation « par réflexion » que suggère ce livre. Par exemple, les règles suivantes, que j'ai souvent rencontrées, passent à coté de l'essentiel et sont malheureusement le plus souvent imposées - ce qui génère du code coûteux à maintenir :

- Il faut limiter la longueur d'une ligne à 80 caractères. (Même lorsque la lisibilité et la compréhension du code en pâtit ?)

- Ne pas utiliser une variable nommée i dans les boucles. (Ah bon, ma variable i ne respecte pas les normes mais sa variable nommée int_mon_compteur_de_la_boucle_courante, tout en cachant l'essentiel du traitement, les respecte ?)

- Toute fonction doit tenir à l'écran. (Quitte à scinder un traitement unitaire en quatre fonctions qu'on ne sait plus comment nommer ?)

- Ne pas utiliser de variable globale. (Wow, j'ai une variable globale dans un fichier comptant 100 fonctions et 2500 lignes. Mon voisin n'a aucune variable globale mais passe systématiquement une structure contenant 2500 champs à toutes ses fonctions et c'est moi qui ai tort ?)

Bon, vous voyez le topo. Après la lecture de ce bouquin, vous serez :

- Meilleur développeur.
- Vous produirez du code moins coûteux à maintenir.
- Vous saurez dire non aux normes contreproductives.
- Et surtout, vous serez content chaque matin d'aller au boulot, histoire de lire les sources et de vous dire : ça, franchement, je l'aurais codé de cette façon et voici pourquoi.
Aidez d'autres clients à trouver les commentaires les plus utiles 
Avez-vous trouvé ce commentaire utile ? Oui Non

Soyez la première personne à commenter cette évaluation.

[Ajouter un commentaire]
Publier un commentaire
Pour insérer un lien produit, utilisez le format : [[ASIN:ASIN titre-produit]] (De quoi s'agit-il?)
Amazon affichera ce nom avec vos soumissions, y compris les chroniques de clients et les posts de discussion. (Plus d'informations)
Nom :
Badge :
Ce badge vous sera affecté et apparaîtra avec votre nom.
There was an error. Please try again.
Consultez lintégralité des directives ">ici.

Remarque Officielle

En tant que représentant de ce produit, vous pouvez publier un commentaire officiel sur cette évaluation. Il apparaîtra immédiatement au-dessous de l'évaluation, quelle que soit l'emplacement où celle-ci est affichée.   Plus d'informations
Le nom et le badge suivants seront affichés avec ce commentaire :
Après avoir cliqué sur le bouton Publier, vous serez invité à créer votre nom public qui sera affiché avec toutes vos contributions.

Ceci est-il votre produit ?

Si vous êtes l'auteur, l'artiste, le fabricant ou un représentant officiel de ce produit, vous pouvez publier un commentaire officiel sur cette évaluation. Il apparaîtra immédiatement au-dessous de l'évaluation, quel que soit l'emplacement où celle-ci est affichée.  Plus d'informations
Sinon, vous pouvez toujours publier un commentaire normal sur cette évaluation.

Ceci est-il votre produit ?

Si vous êtes l'auteur, l'artiste, le fabricant ou un représentant officiel de ce produit, vous pouvez publier un commentaire officiel sur cette évaluation. Il apparaîtra immédiatement au-dessous de l'évaluation, quel que soit l'emplacement où celle-ci est affichée.   Plus d'informations
 
Délai système expiré

Nous n'avons pas pu vérifier si vous représentez le produit. Veuillez réessayer ultérieurement, ou réessayez maintenant. Sinon, vous pouvez publier un commentaire normal.

Puisque vous avez déjà publié un commentaire officiel, ce commentaire apparaîtra dans la section du commentaire ci-dessous. Vous pouvez également modifier votre commentaire officiel.   Plus d'informations
Le nombre maximal de commentaires officiels a été atteint. Le commentaire apparaîtra dans la section du commentaire ci-dessous.   Plus d'informations
Aller s'identifier
 


Détails de l'évaluation

Article

4.6 étoiles sur 5 (8 commentaires client)
5 étoiles:
 (6)
4 étoiles:
 (1)
3 étoiles:
 (1)
2 étoiles:    (0)
1 étoiles:    (0)
 
 
 
EUR 39,60
Ajouter au panier Ajouter à votre liste d'envies
Commentateur


Lieu : france

Classement des meilleurs critiques: 66