Costruire CQL in NDepend per verificare i modelli MVVM
-
24-10-2019 - |
Domanda
Ho voluto verificare alcuni modelli di design in codice C # con l'analisi statica. Voglio verificare questi utilizzando NDepend. L'applicazione è costruito con lo stile di design MVVM, in modo da modelli tipici di design che vorrei verificare sono: 1. Classi View-Girl non hanno alcun DependencyProperties (elementi WPF), dovrebbero essere visti solo in vista strato. 2. The View livello non dovrebbe attuare IDisposable etc
Ho provato la costruzione di query in CQL per catturare questi dettagli, ma non è riuscito come ho bisogno di verificare quale livello di una classe appartiene e anche le proprietà di esso. Capisco di query nidificate non è supportato da ancora CQL, così c'è un modo per catturare questi dettagli di NDepend? Spero che posso in qualche modo catturare i risultati di query multiple ed eseguire intersezione di loro?
Grazie in anticipo, Shaun
Soluzione
Il modo più semplice per ottenere un CQLinq regola che avvisa se A è utilizzando B (a e B possono essere Assembly / Namespace / tipo / Metodo / campo ) è quello di visualizzare a e B nella dipendenza Matrix, e a Genera una regola di codice che avvisa se esiste questa dipendenza :
... e, di conseguenza, viene generato il seguente regola: