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.

¿Fue útil?

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.

grep para Windows

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top