Question

Quelqu'un sait-il d'un outil que je pourrais utiliser avec une application C # pour trouver des violations possibles du droit Demeter? Je sais que cela donnerait beaucoup de faux positifs, mais je pense qu'il pourrait encore être utile. Surtout pendant le processus de la conception.

Était-ce utile?

La solution

Si vous êtes à la recherche d'something.somethingelse.violation, vous pouvez utiliser Visual Studio.

Dans la boîte de dialogue Rechercher, cochez la case en bas « Utiliser » et sélectionnez « expressions régulières ».

Pas très robuste, mais vous pouvez utiliser <[:a_]+\.([:a_]+\.)+[:a_]+ pour trouver le schéma ci-dessus.

Un meilleur outil serait grep ou similaire sur le répertoire de solution, de sorte que vous pouvez utiliser les options de regex plus puissants comme lookbehind négatif, ce qui vous permettrait d'exclure des choses comme directives using et déclarations de namespace.

grep pour Windows

Vous pouvez probablement très rapidement écrire une application .NET qui récursivité un répertoire donné et la recherche .cs et / ou des fichiers .vb pour même, en utilisant Regex .NET, qui a lookarounds, mais bien sûr l'avantage d'utiliser VS est que vous restez à droite dans l'éditeur de code source.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top