Ley de Demeter herramienta de búsqueda de violación? [cerrado]
-
27-09-2019 - |
Pregunta
¿Alguien sabe de una herramienta que podría utilizar con una aplicación de C # para encontrar posibles violaciónes Ley de Demeter? Yo sé que daría una gran cantidad de falsos positivos, pero creo que aún podría ser útil. Especialmente durante el proceso inicial de diseño.
Solución
Si lo que buscas es something.somethingelse.violation
, a continuación, puede utilizar Visual Studio.
En el diálogo de búsqueda, marque la casilla en la parte inferior de "uso" y seleccione "expresiones regulares".
No es muy robusta, pero se puede usar <[:a_]+\.([:a_]+\.)+[:a_]+
para encontrar el patrón anterior.
Una herramienta mejor sería grep
o similar en el directorio de la solución, por lo que se puede utilizar más potentes opciones de expresiones regulares de búsqueda hacia atrás como negativo, lo que le permite excluir cosas como las directivas y declaraciones using
namespace
.
Probablemente se podría escribir muy rápidamente una aplicación .NET que recursivamente un directorio dado y buscar Cs y / o .vb para la misma, utilizando .NET expresión regular, que tiene lookarounds, pero por supuesto la ventaja de usar VS es que permanezca justo en el editor de código fuente.