Frage

Ich habe einige geerbte Codes bekommt, das die Tendenz hat, Objekte zu laufen um als Schnittstellen (IFoo, zum Beispiel) dann an beliebigen Stellen im Code, warf sie spontan auf konkrete Implementierungen dieser Schnittstellen (etwa MyConcreteFoo).

Hier ist ein dummes Beispiel:

public bool IsThisFooScaredOfMonkeys(IFoo foo)
{
    if (foo is MyConcreteFoo)
    {
        return ((MyConcreteFoo)foo).BelievesMonkeysAreEvil;
    }
    return false;
}

Was möchte ich zu tun ist, eine NDepend CQL Abfrage schreiben, diese Art von Abgüssen zu holen und geben Sie mir eine Zählung pro Methode oder pro Art, oder irgendetwas wirklich. Nur etwas, damit ich weiß, wo ich anfangen kann meine Bemühungen auf die Fokussierung dieser besonderen Marke von Albernheit loszuwerden, anstatt mein Team spelunking durch den Code auf einer zufälligen Jagd Senden für Abgüsse ...

Wer weiß, wenn es einen Weg gibt, das zu tun? Ich vermute nicht (es kann nicht zu viele Leute da draußen, das diese besondere Funktionalität benötigen), aber ich dachte, ich würde fragen, hier zuerst ...: -)

Natürlich andere Ideen über die Möglichkeiten der Gussjagd gehen schneller gleichermaßen geschätzt würde zu machen.

War es hilfreich?

Lösung

Das wäre sehr schön, aber NDepend auf einen Satz von Einheiten beschränkt, die nicht einzelne abdeckt Anweisungen.

NDepend Entities

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

Trotz dieser Einschränkung NDepend ist immer noch ziemlich genial! Vielleicht ist dies eine Version nächste Funktion.

Jetzt Patrick Smacchia könnte in der Lage sein, mir anders zu erzählen, so dass ich ihn mit dieser Frage wenden würde. Ich würde erwarten, eine Antwort schnell zu bekommen, da er ziemlich am Anfang der Dinge ist.

auf einer Seite Hinweis:

Wenn Sie mit ReSharper 5.0 es hat eine

scroll top