2010-08-20 66 views

Répondre

6

Sur ce blog Identify Code Structure Patterns at a Glance il est expliqué comment utilisez une matrice de structure de dépendance pour identifier les modèles de structure de code. Les captures d'écran sont réalisées avec le Dependency Structure Matrix de l'outil NDepend.Voici quelques modèles:

Code Layered (code sans cycle certainement la chose la plus cool qu'un DSM peut vous montrer un coup d'oeil)
alt text

Code avec les cycles de dépendance
alt text

haute cohésion/faible couplage
alt text

Hungry appelant
alt text

populaire Callee
alt text

couplage mutuel
alt text

Data Object
alt text

1

Listez les sous-systèmes sur les axes X et Y dans le même ordre. Marquer un "O" en diagonale. Les sous-systèmes qui dépendent d'eux-mêmes n'ont pas beaucoup de sens. Allez verticalement dans la matrice. Si ce sous-système dépend du sous-système horizontal correspondant, marquez un X.

Un bon réorganise les sous-systèmes pour montrer des modèles qui pourraient conduire à un bon refactoring.

Je n'en ai pas un très pratique, cependant. Pardon.

3

Erik Dörnenburg gives the best description J'ai vu, y compris quelques bons exemples de la façon dont les arrangements du graphique peuvent exposer des problèmes structurels. En bref:

  • comme d'autres l'ont mentionné, quoi que ce soit au-dessus de la diagonale indique un cycle, ce qui signifie essentiellement que vos limites sont « floues » (pas propre)
  • carrés assez petites (bien, triangles inférieurs) le long de la diagonale = = bon, si les composants sont regroupés en fonction de la hiérarchie
  • d'autre part, des lignes ou des colonnes fortement pondérées == problèmes possibles: soit
    • lignes: vous avez un composant/groupe que beaucoup d'autres dépendent (peut-être qu'il essaie de servir trop de fonctionnalités), ou
    • colonnes: vous avez un composant/groupe qui dépend de beaucoup d'autres (peut-être qu'il essaie de prendre soin lui-même de tout, au lieu de déléguer)