2010-07-01 3 views
1

Existe-t-il une analyse de dépendance de package à l'aide de jDepend, de la tâche verifydesign de ant contrib ou de tout autre outil similaire utilisant des listes noires au lieu des listes blanches? C'est-à-dire que je veux être beaucoup moins strict (au moins initialement). Au lieu de spécifier le paquet A doit seulement dépendre de B, C et K; le paquet B ne doit dépendre que de Q, W et R; etc chaque paquet dans le système, je voudrais commencer par dire: package A absolument ne peut pas avoir un contact avec W et Y, et tout ce qu'il fait est bien par moi. Je pourrais alors ajouter graduellement dans la liste complète des dépendances attendues (A dépend seulement de B, C, K) pour chaque paquet dans le temps, car les choses sont refactorisées.Besoin d'outils d'analyse de la dépendance du package Java

Un outil existe-t-il pour cela?

Répondre

1

Vous pouvez le faire avec Structure101 Architecture Diagrams puisque les diagrammes peuvent contenir un sous-ensemble de votre base de code. Dans votre exemple, vous pouvez créer 3 cellules dans le diagramme pour A, W et Y, en plaçant W et Y au-dessus de A dans le diagramme (les dépendances peuvent seulement descendre, ou au moins une dépendance ascendante est considérée comme une "violation" du diagramme). Placer W et Y côte à côte au-dessus de A indique qu'il ne devrait y avoir aucune dépendance entre W et Y. Si vous ne voulez pas restreindre les dépendances entre W et Y (encore), vous pouvez les fusionner en une seule cellule et inter -les dépendances ne seront pas vérifiées. Les règles sont automatiquement vérifiées et vous pouvez générer des avertissements et/ou des erreurs (cassez la construction si vous le souhaitez). Et vous pouvez progressivement ajouter au diagramme que votre effort de refactoring progresse ...

+0

Cela semble prometteur, je vais devoir télécharger le procès. Merci pour le lien. –

1

Je peux faire mieux: vous pouvez exprimer de telles choses dans AspectJ AOP afin qu'il puisse être appliqué à l'exécution. "AspectJ In Action" vous montre comment.

0

verifydesign peut être moins stricte en ce sens que vous pouvez définir un "wad" pour ainsi dire et le rendre de plus en plus strict. Un lien vers un article qui a une pièce sur les systèmes hérités (qui violent typiquement des tonnes de la conception prévue).

http://www.devx.com/opensource/Article/33729/0/page/4

Questions connexes