Kann ich NDepend verwenden, um Casts zu zählen?

8

Ich habe einen ererbten Code, der dazu neigt, Objekte als Interfaces herumzugeben (zB IFoo) und dann spontan an beliebigen Stellen im Code auf konkrete Implementierungen dieser Interfaces zu werfen (zB MyConcreteFoo).

Hier ist ein dummes Beispiel:

%Vor%

Was ich tun möchte, ist eine NDepend CQL-Abfrage zu schreiben, um diese Arten von Umwandlungen aufzunehmen und mir eine Zählung pro Methode oder pro Typ oder irgendetwas wirklich zu geben. Nur etwas, also weiß ich, wo ich anfangen kann, meine Bemühungen darauf zu konzentrieren, diese besondere Art von Albernheit loszuwerden, anstatt mein Team durch den Code auf einer zufälligen Jagd nach Abgüssen durchforsten zu lassen ...

Weiß jemand, ob es einen Weg gibt, das zu tun? Ich vermute nicht (es kann nicht zu viele Leute da draußen geben, die diese bestimmte Funktionalität brauchen), aber ich dachte, ich würde hier zuerst fragen ...: -)

Natürlich wären auch alle anderen Ideen, wie man die Cast-Jagd schneller machen kann, zu begrüßen.

    
Chris Salter 26.08.2010, 17:52
quelle

1 Antwort

2

Das wäre sehr nett, aber NDepend ist auf eine Menge von Entitäten beschränkt, die einzelne Aussagen nicht abdecken.

NDepend-Entitäten

  1. Methoden
  2. Felder
  3. Typen
  4. Namespaces
  5. Assemblies

Trotz dieser Einschränkung ist NDepend immer noch ziemlich cool! Vielleicht ist dies eine Version als nächstes Feature.

Vielleicht könnte Patrick Smacchia mir etwas anderes sagen, also würde ich ihn mit dieser Frage kontaktieren. Ich würde erwarten, dass ich schnell eine Antwort bekomme, da er ziemlich gut informiert ist.

Auf einer Seite Hinweis:

Wenn Sie ReSharper 5.0 verwenden, haben Sie Strukturelle Suche , die es erlauben würde, solche Aussagen zu finden. Sie müssten die Suche selbst erstellen, aber es ist ein ziemlich mächtiges Werkzeug.

Dieses Muster würde das obige Beispiel erfassen:

%Vor%     
Josh 26.08.2010, 19:34
quelle

Tags und Links