8 Réponses :


1
votes

Ne les forcez pas à lire le livre, cela ne fonctionnera pas.

refactue simplement leur code à l'aide d'un modèle de conception et leur montre pourquoi cela est plus facile.

Donnez-leur également un peu de temps pour apprendre la nouvelle façon de travailler.


0 commentaires

15
votes

Je suggérerais de ne pas évancher des schémas de conception, mais préconisez des conceptions / approches spécifiques pour des problèmes spécifiques tels qu'ils sont rencontrés.

Plus tard, lorsqu'une situation similaire se produit, vous pouvez revenir à l'approche que vous avez prise pour le problème précédent. Ensuite, vous pouvez appeler cela un "modèle" que l'équipe a vu l'occasion de résoudre des problèmes réels avec un avantage réel.

Je ne voudrais pas non plus adhérer strictement aux modèles de conception du livre pour leur propre amour. Cela peut vous empêcher de bonnes suggestions de non design-moquistas ou de vous aveugler des problèmes réels pouvant être spécifiques à votre environnement / domaine problématique.


1 commentaires

Ce conseil fonctionne. J'étais quelqu'un un peu hostile pour concevoir des motifs, mais après un certain temps avec un collègue qui a montré où ils pouvaient être utilisés à bon escient dans des situations, je suis venu comprendre les avantages de donner ces étiquettes de techniques. Ne l'évangélisez pas dans la gorge, laissez la situation apparaître de manière organique.



4
votes

revue de code.

Les forcer à utiliser des modèles de conception entraînera probablement une surutilisation et des anti-motifs.


1 commentaires

Avoir à expliquer un certain motif de conception lors d'un examen de code est en réalité la question. Il n'y a aucune intention de «forcer» les modèles de conception où ils n'appartiennent pas. Mais ils sont parfois utiles. La question est de savoir comment encourager l'auto-éducation afin que tous les membres de l'équipe puissent parler le même langage de «modèle de conception» lorsqu'il sera utile. Je ne sais pas bien comment les critiques de code peuvent accomplir cela.



2
votes

J'avoue que je n'ai jamais essayé de le faire, alors je m'appuyais sur les observations générales sur la manière dont les équipes peuvent améliorer leurs compétences et la qualité de ce qu'ils produisent. Comment les gens apprennent-ils? Lecture, expérimentation, imitation, mentorat ... même écouter des conférences! Je pense que vous devrez appliquer plusieurs approches différentes. Je dirais que deux choses sont critiques: exposition aux idées et aux commentaires.

Par conséquent pour une équipe, je ferais ce qui suit:

1). Critiques de conception et de code. Les examens ne doivent pas être menés uniquement par les personnes âgées. Les juniors ont également lu le code et commentant. Idéalement, ils apprennent aussi.

2). Design Wokrshops Mélangez des problèmes et proposons des solutions alternatives.

Dans les deux cas, je suis moins préoccupé par les modèles de conception (le livre) que pour inculquer un esprit d'évaluation et une considération pour la conception. Ce qui est bon? Qu'est-ce qui est mauvais? Quelles forces et compromis conduisent à cette solution particulière. Quand est assez bon assez?


0 commentaires

2
votes
  1. Prenez un problème bien connu.

  2. Identifiez le motif qui peut résoudre le problème le plus efficacement. Et résoudre le problème avec le motif et implémenter la solution et les montrer de fonctionner.

  3. Ne leur dis pas encore sur le modèle de conception. répéter ceci pour environ 3-4 problèmes. Plus tard, dis-leur ce que vous avez fait a été résolu un problème de motif de conception - nommer chaque modèle et leur donner des livres de référence ou des indicateurs d'URL pour leur étude et leurs recherches supplémentaires.


0 commentaires

0
votes

Lecture du livre ne vous donne que "Insight" dans les modèles de conception et je pense que cette lumière clique uniquement après avoir mis en œuvre des modèles. Il peut être souhaitable dans votre situation de mettre en place un examen par les pairs et d'observer le code fini pour voir où un motif peut avoir atténué un problème particulier.

Puisque vous n'avez pas mentionné une source, je suppose que vous parlez du livre GOF et, dans l'affirmative, je suppose également que vous travaillez dans une langue typée statiquement telle que C ++, Java, C #, etc. Sinon, bon nombre des motifs peuvent même ne pas s'appliquer à votre domaine de votre problème et ne feront probablement pas de côté vos efforts pour l'adaptation de l'équipe. Par exemple, Visitor (Double Dispatch) n'est pas utilisé dans des langues liées dynamiquement, SCALA a Singleton cuite au four, etc.


0 commentaires

1
votes

Obtenez quelques copies de «Tête de première conception» et demandez aux gens de le lire. C'est une façon amusante d'apprendre sur les modèles.

J'enseigne un cours de modèles de design pour le programme d'ingénierie de Johns Hopkins pour les professionnels (programme de maîtrise en soirée) et tenez régulièrement des déjeuners bruns au travail pour parler de motifs.

Je recommanderais de tenir un déjeuner de brownbag d'une heure une ou deux fois par mois. Parlez du concept du modèle et de montrer des exemples de programmation.

Chaque conférence que je parle du marteau d'or - Apprenez à utiliser chaque modèle et à les verrouiller dans votre boîte à outils jusqu'à ce que vous en avez besoin!

Ma technique préférée est ce que j'appelle "Theatre de modèle". Chacun de mes élèves recherche un modèle et écrit un script de 2-3 pages qui utilise le modèle dans le monde réel. Par exemple, je présente un théâtre sur le trajet de Paul Revere pour décrire l'observateur. (Robert Newman voir les lampes britanniques et lumières; Paul Revere voit les lampes et commence à faire de l'équitation et de crier; Certains citadins l'entendent et se cachent; Certains citadins l'entendent et saisissent leurs armes à feu - des paires de stimulus / de réponse discrètes) rien dans les théâtres mentionnant la programmation; Ils sont tous sur le point d'obtenir les concepts avant de commencer la partie de la programmation de la conférence.


0 commentaires

0
votes

La prédication ne fonctionne pas. Mener par l'exemple.

Lorsque vous travaillez sur une conception, prenez votre livre (s) de modèle de conception et ouvrez-le. Même si vous avez mémorisé tous les modèles, ouvrez le livre.

Lorsque quelqu'un vous pose une question de conception, ne leur disons pas simplement le nom d'un modèle, saisissez le livre, ouvrez-le au motif, pointez sur la partie pertinente du motif et dites quelque chose comme «Oh, entendez-la. C'est, je ne suis pas sûr, mais je pense que cela pourrait être utile ».

Si la majorité de votre équipe vous considère comme un gourou de design et que vous vous voyez constamment faire référence à un livre de modèle de conception, ils rendront la connexion par elles-mêmes.


0 commentaires