Précédent   Forum du club des développeurs et IT Pro > Général Développement > Langages de programmation
Langages de programmation Forum général sur les langages de programmation, sur la POO, opinions, choix, ...
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Actualité déjà publiée
 
Outils de la discussion
Publicité
'
Vieux 05/05/2009, 09h07   #1
sjrd
Rédacteur
 
Avatar de sjrd
 
Homme Sébastien Doeraene
Chercheur en informatique
Inscription : juin 2004
Messages : 4 509
Détails du profil
Informations personnelles :
Nom : Homme Sébastien Doeraene
Âge : 23
Localisation : Belgique

Informations professionnelles :
Activité : Chercheur en informatique
Secteur : Enseignement

Informations forums :
Inscription : juin 2004
Messages : 4 509
Points : 9 288
Points : 9 288
Par défaut Critique de l'ouvrage "Coder proprement" de Robert C. Martin

05/08/2010

Citation:
Envoyé par benwit Voir le message
Et de trois : http://conception.developpez.com/liv...L9782744023279

Et vous qu'est-ce que vous en pensez de sa règle J1 ?

Pour moi :
quote]il manque de cohérence avec sa règle J1 sur l'importation des classes dans Java. D'une part, il dit qu'une longue liste d'importation effraie le lecteur mais c'est oublier que les chers IDE modernes (qu'il invoque quand ça l'arrange) les cachent automatiquement. D'autre part, dire que le caractère générique crée moins de dépendance que l'import spécifique d'une classe, je vois vraiment pas en quoi ???
[/QUOTE]

Citation:
Nouvelle critique parue :
Coder proprement de Robert C. Martin

Citation:
Je ne vois pas ce que l'on peut reprocher à ce livre. Véritable guide de la programmation propre, il commence par justifier au lecteur l'utilité d'un code propre. Ensuite, il explique ce qu'est un code propre, avant de démontrer comment il est possible de rendre propre un code qui ne l'est pas.
[...]
C'est donc un livre à mettre en toutes les mains, du plus jeune débutant afin qu'il prenne de bonnes habitudes dès le début, au plus expérimenté qui redécouvrira une autre manière de coder : plus simple, plus claire, plus durable.
__________________
sjrd, ancien rédacteur/modérateur Delphi
Les règles du forum tu liras et tu respecteras.
Ainsi ami des modos tu seras...

Mis à jour le 6 mai 2012 : découvrez FunLabyrinthe v5.3 : un jeu de labyrinthe gratuit et personnalisable à l'infini avec des scripts Delphi-like.
Découvrez aussi Sepi, un moteur de script orienté objet pour Delphi.

Mes tutoriels
sjrd est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2009, 15h32   #2
Baptiste Wicht
Expert Confirmé Sénior
 
Avatar de Baptiste Wicht
 
Homme Baptiste Wicht
Étudiant
Inscription : octobre 2005
Messages : 7 459
Détails du profil
Informations personnelles :
Nom : Homme Baptiste Wicht
Âge : 25
Localisation : Suisse

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2005
Messages : 7 459
Points : 21 890
Points : 21 890
Envoyer un message via MSN à Baptiste Wicht
Seconde critique du livre : http://conception.developpez.com/liv...L9782744023279

Citation:
Un livre tout simplement indispensable pour apprendre à coder proprement. En plus de nous apprendre à coder proprement, il nous apprend également pourquoi il faut le faire, ce qui est indispensable pour motiver quelqu'un à programmer proprement. Ce livre m'a beaucoup appris sur la bonne manière de coder. Tous les éléments théoriques du livre sont mis en pratique via des exemples concrets de code. En plus de cela, un chapitre entier est consacré au remaniement d'une classe et un autre au remaniement d'un petit programme.

[...]
Un livre, tout simplement génial, que je conseille à tout un chacun
Baptiste Wicht est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2009, 02h24   #3
maxim_um
Membre émérite
 
Avatar de maxim_um
 
Inscription : mai 2007
Messages : 895
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 895
Points : 806
Points : 806
Quelques extraits au format PDF mis à disposition par Pearson:

Table des matières
(pdf 198 KB)

Introduction
(pdf 258 KB)

Extrait du chapitre 1 - Code propre
(pdf 689 KB)

Extrait du chapitre 5 - Mise en forme
(pdf 463 KB)

Extrait du chapitre 12 - Emergences
(pdf 74 KB)
maxim_um est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/08/2009, 12h45   #4
nprovost
Membre confirmé
 
Inscription : décembre 2004
Messages : 171
Détails du profil
Informations personnelles :
Âge : 40
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : décembre 2004
Messages : 171
Points : 209
Points : 209
Excellent ouvrage ! Même s'il adopte un point de vue effectivement assez radical mais bien adapté à un langage "moderne" comme Java ou C#, il entraîne avant tout à prendre du recul sur le code que l'on écrit. C'est donc d'abord une méthodologie profitable au plus grand nombre, qui tord le cou à certaines habitudes ou en explique l'origine. Nombreux exemples.
nprovost est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2009, 12h48   #5
leToto
Nouveau Membre du Club
 
Inscription : décembre 2006
Messages : 33
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 33
Points : 28
Points : 28
Par défaut Un délice...

Ce livre est un véritable régal, et tout est dit dans le titre : il s'agit d'apprendre à coder proprement.

La lecture coule en soi, le style d'écriture est propre, et les notions abordées sont plus que dignes d'intérêt.

A recommender à tous, surtout aux débutants qui auront ainsi une très bonne base question qualité de code.
leToto est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2009, 14h11   #6
maxim_um
Membre émérite
 
Avatar de maxim_um
 
Inscription : mai 2007
Messages : 895
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 895
Points : 806
Points : 806
Je ne l'ai pas lu, mais il parait qu'il est moins intéressant qu'un autre de ces ouvrages traitant aussi du même sujet, en l'occurrence «Agile Software Development: Principles, Patterns, and Practices». Cela dit, je n'ai pas regardé si ce livre a été traduit.
maxim_um est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/08/2010, 23h24   #7
benwit
Rédacteur
 
Avatar de benwit
 
Inscription : septembre 2004
Messages : 1 628
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 1 628
Points : 3 094
Points : 3 094
Et de trois : http://conception.developpez.com/liv...L9782744023279

Et vous qu'est-ce que vous en pensez de sa règle J1 ?

Pour moi :
Citation:
il manque de cohérence avec sa règle J1 sur l'importation des classes dans Java. D'une part, il dit qu'une longue liste d'importation effraie le lecteur mais c'est oublier que les chers IDE modernes (qu'il invoque quand ça l'arrange) les cachent automatiquement. D'autre part, dire que le caractère générique crée moins de dépendance que l'import spécifique d'une classe, je vois vraiment pas en quoi ???
__________________

Tout le monde savait que c'était impossible. Il est venu un imbécile qui ne le savait pas et qui l'a fait. Marcel PAGNOL
On ne savait pas que c'était impossible, alors on l'a fait. John Fitzgerald KENNEDY.
L'inexpérience est ce qui permet à la jeunesse d'accomplir ce que la vieillesse sait impossible. Paul (Tristant) BERNARD
La meilleure façon de prédire l'avenir, c'est de l'inventer.
benwit est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/08/2010, 09h47   #8
vintz72
Membre confirmé
 
Avatar de vintz72
 
Vincent
Inscription : octobre 2005
Messages : 154
Détails du profil
Informations personnelles :
Nom : Vincent
Âge : 41
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : octobre 2005
Messages : 154
Points : 235
Points : 235
Citation:
Envoyé par benwit Voir le message
Et de trois : http://conception.developpez.com/liv...L9782744023279

Et vous qu'est-ce que vous en pensez de sa règle J1 ?

Pour moi :
Euh... c'est quoi exactement sa règle J1 ?
Pour les imports, c'est clair qu'avec un IDE moderne, je trouve préférable de lui laisser faire son boulot. Ca évite même des désagréments en cas de recherche textuel par exemple.
vintz72 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/08/2010, 10h02   #9
benwit
Rédacteur
 
Avatar de benwit
 
Inscription : septembre 2004
Messages : 1 628
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 1 628
Points : 3 094
Points : 3 094
J1 dit qu'il faut mieux faire des importations génériques (avec *) que spécifiques.
Exemple :
préféré un import java.io.*
à import java.io.File; import java.io.Inputstream, ...

Je dis que si les imports spécifiques prennent effectivement plus de ligne, c'est masqué avec avec les IDE moderne (argument que je lui renvoi puisqu'il les cites lui-même)
Mais concernant la dépendance, je ne vois pas.
Il a l'air de dire qu'avec l'import * il y a moins de couplage.
Je ne vois pas puisque dans les deux cas, si tu as besoin de l'import, c'est que tu utilises la classe. Dans les deux cas, si elle disparait du package, ça ne marchera plus !
Je préfère le import explicite car tu vois précisément les références.

Si vous comprenez ce qu'il veut dire, merci de m'expliquer.
Il faut que je regarde une version originale pour vérifier si cela a bien été traduit.
__________________

Tout le monde savait que c'était impossible. Il est venu un imbécile qui ne le savait pas et qui l'a fait. Marcel PAGNOL
On ne savait pas que c'était impossible, alors on l'a fait. John Fitzgerald KENNEDY.
L'inexpérience est ce qui permet à la jeunesse d'accomplir ce que la vieillesse sait impossible. Paul (Tristant) BERNARD
La meilleure façon de prédire l'avenir, c'est de l'inventer.
benwit est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/08/2010, 10h14   #10
cedrix57
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
Pour ceux qui voudrait avoir un aperçut de ce livre, il y a quelques pages en aperçut dans Google Book.
Moi personnellement ça m'a vraiment donné envi de l'acheter, je vais le commander ce weekend.
  Envoyer un message privé Réponse avec citation 00
Vieux 06/08/2010, 10h36   #11
Baptiste Wicht
Expert Confirmé Sénior
 
Avatar de Baptiste Wicht
 
Homme Baptiste Wicht
Étudiant
Inscription : octobre 2005
Messages : 7 459
Détails du profil
Informations personnelles :
Nom : Homme Baptiste Wicht
Âge : 25
Localisation : Suisse

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2005
Messages : 7 459
Points : 21 890
Points : 21 890
Envoyer un message via MSN à Baptiste Wicht
Personnellement, je déteste les import génériques et c'est effectivement quelque chose avec lequel je n'étais pas d'accord lorsque j'ai lu le livre.

Je trouve très bien que les imports spécififiques prennent beaucoup de place, ça permet de se rendre compte qu'une classe a besoin de beaucoup d'autres (trop ? ) classes pour fonctionner.

Pour ce qui est du couplage diminué, je ne vois pas non plus.
Baptiste Wicht est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2010, 13h06   #12
dissert
Membre confirmé
 
Homme Benoît Dissert
Conseil - Consultant en systèmes d'information
Inscription : avril 2010
Messages : 44
Détails du profil
Informations personnelles :
Nom : Homme Benoît Dissert
Localisation : France

Informations professionnelles :
Activité : Conseil - Consultant en systèmes d'information
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : avril 2010
Messages : 44
Points : 294
Points : 294
Citation:
(benwit) En conclusion, ce livre est à mettre entre les mains de tous débutants, cela ne fait aucun doute. Pour les développeurs plus aguerris, c'est déjà plus discutable, je leur conseillerai cependant pour découvrir l'argumentaire de cette école de pensée ou pour soulager leur névrose.
Je ne suis pas d'accord avec la cible du livre décrite ici.

Je pense qu'il faut une certaine séniorité dans le métier pour pouvoir prendre du recul par rapport aux principes énoncés. Autant les arguments m'ont parut souvent pertinents dans ce livre, autant les exemples ne sont pas toujours bons, et en particulier, en ce qui concerne l'étude de cas (chapitre 15), j'ai trouvé que l'application des différents principes n'étaient pas toujours clairs et surtout l'utilité de cette application n'était pas forcément évidente.

Et, pareillement à plusieurs ici, je suis contre les imports génériques (règle J1).

<troll mode="on">En Scala, on peut définir des imports "semi-generique", avec des sortes de regexp, qui permettent de déclarer exactement ce que l'on veut avec un minimum de lignes</troll>
dissert est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2010, 16h58   #13
cinemania
Membre Expert
 
Sylvain Benoit
Inscription : juillet 2006
Messages : 1 103
Détails du profil
Informations personnelles :
Nom : Sylvain Benoit
Âge : 35
Localisation : France, Meurthe et Moselle (Lorraine)

Informations forums :
Inscription : juillet 2006
Messages : 1 103
Points : 1 468
Points : 1 468
en même temps les imports générics, règle J1 ne s'appliquent pas à tous les langages.

en effet, les directives d'imports/using dans les autres langages, portent généralement sur tout le package/namespace.
en dotnet, il est préférable s'il n'y a pas de risque d'ambiguïté des noms, d'inclure un namespace, plutôt que de qualifier pleinement le type quand on l'utilise, sinon on nuit sévèrement à la lisibilité du code, surtout si le namespace fait 15km de long... cela va si on utilise des types System.String, mais plus du tout dès lors que l'on commence à nécessiter ce genre d'écriture... System.Collections.ObjectModel.ObservableCollection<System.String>
Les IDE comme Visual Studio 2010 indique clairement le nom et types complet lorsque l'on passe la souris au dessus de la déclaration, donc inutile de rendre le code illisible.

maintenant en java, où l'on peut spécifier, clairement le type importé, en haut avant le code dans la liste des imports, là il est évident qu'il vaut mieux faire des inclusions explicites.

Ensuite pour ce qui est des dépendances... il a tout simplement fumé la moquette avant d'écrire son postulat... que tu fasse une inclusion spécifique ou une inclusion générique, cela ne change rien au niveau de dépendance de l'application.
cinemania est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/08/2012, 09h14   #14
yamura
Invité de passage
 
Inscription : avril 2011
Messages : 57
Détails du profil
Informations forums :
Inscription : avril 2011
Messages : 57
Points : 2
Points : 2
Je n'arrive pas à trouver de site web ou acheter ce livre, amazon est épuisé :s
yamura est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/08/2012, 17h33   #15
blstef
Invité régulier
 
Inscription : mars 2007
Messages : 6
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 6
Points : 9
Points : 9
J'ai fait des recherches car il m'interressait aussi:

Tu peux l'acheter en PDF pour 32,30 € (trop cher à mon avis) sur le site de Pearson:
http://www.pearson.fr/livre/?GCOI=27440100643800

Sinon la version originale en PDF pour 14 $ (plus raisonnable) mais je ne sais pas s'il on peut tout de même l'acheter (blocage par pays)...
https://memberservices.informit.com/...ner=53&cmd=add

Sinon, le site slideshare.net le propose en ligne:
"www.slideshare.net/MarwenMhamdi/coder-proprement"

Bonne lecture ;-)
blstef est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/11/2012, 11h31   #16
molarisapa
Invité régulier
 
Inscription : février 2006
Messages : 42
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 42
Points : 8
Points : 8
Livre génial

La plupart des livres que je lis, je finis toujours par les revendre par la suite sur le marché de l'occasion.

Mais celui-ci je le garde pour le ranger dans ma bibliothèque parmi les classiques comme Design Patterns du "Gang of four", ou les ouvrages de Stroustrup
molarisapa est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Actualité déjà publiée
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 15h02.


 
 
 
 
Partenaires

Hébergement Web