Legge di Demetra strumento di ricerca violazione? [chiuso]
-
27-09-2019 - |
Domanda
Qualcuno sa di uno strumento che ho potuto utilizzare con un'applicazione C # per trovare possibili Legge di violazioni Demeter? So che avrebbe dato un sacco di falsi positivi, ma penso che potrebbe essere ancora utile. Soprattutto durante il processo di progettazione iniziale.
Soluzione
Se siete solo in cerca di something.somethingelse.violation
, quindi è possibile utilizzare Visual Studio.
Nella finestra di dialogo Trova, selezionare la casella in basso per "uso" e selezionare "espressioni regolari".
Non molto robusto, ma è possibile utilizzare <[:a_]+\.([:a_]+\.)+[:a_]+
per trovare il modello di cui sopra.
Uno strumento migliore sarebbe grep
o simili sulla directory soluzione, in modo da poter utilizzare più potenti opzioni di regex come lookbehind negativo, che permetterebbe di escludere le cose come le direttive using
e dichiarazioni namespace
.
Si potrebbe probabilmente molto rapidamente scrive un'applicazione .NET che ricorsivamente una determinata directory e .cs e / o file vb cercare per lo stesso, utilizzando .NET Regex, che ha lookarounds, ma ovviamente il vantaggio di utilizzare VS è che si rimane in pieno l'editor di codice sorgente.