Frage

Gibt es eine Metrik, die bei der Bestimmung der Objektorientierung eines Systems oder einer Anwendung helfen können? Ich habe einige ziemlich ordentlich Metriken in der .NET Reflector Add-In Codeplex-Projekt gesehen, aber nichts dergleichen vor. Wenn eine solche Metrik nicht existiert, wäre es noch möglich oder sinnvoll sein? Es gibt die drei angeblichen Lehren der objektorientierten Programmierung: Kapselung, Vererbung und Polymorphismus; ein Werkzeug, das Programms gegen diesen Rang möglicherweise in der Lage zu zeigen Bereiche einer C # (oder ähnlich) Code-Basis, wo die ganzen objektorientierten ideal verworfen wurde, und vielleicht, wie viele Fehler mit diesem Bereich im Vergleich zu dem Rest des Projektes verbunden sind.

War es hilfreich?

Lösung

Eine sinnvolle Interpretation eines guten OO-Design ist, dass die Objekte in einem Design Karte logisch und konsequent auf die Domäne modelliert Objekte werden. Interpretieren dies erfordert ein tiefes Wissen über das Problem der Gesamtkontext zu lösen Sie versuchen, einschließlich. Automatisierte Messwerte sind noch nicht ausgereift genug, um zu verstehen Kontext auf diese Weise.


Als Reaktion auf den Kommentar, ich dachte, dass ich ein wenig erweitern würde:

Der wichtigste Punkt war ich zu machen hofft, dass OO nicht ‚Kapselung, Vererbung und Polymorphismus‘. Das sind nur Werkzeuge, die ein Problem als Objekte dass interact in gut definierte Wege ermöglichen die Modellierung. Wenn Sie eine gute Metrik wollen, müssen Sie verstehen, was Sie wirklich zu messen versuchen. Es klingt wie Sie versuchen, einen ‚Bauchgefühl‘ Begriff der Code-Qualität mit einer Metrik zu validieren, das Gefühl zu sichern. Wenn das der Fall ist, was ist die wahre zugrunde liegende Sorge? Sind Sie der Code besorgt ist spröde und wahrscheinlich leicht zu brechen aufgrund von unerwarteten Nebenwirkungen? Ist das Objektmodell zu stark fragmentiert und schwer zu folgen? Sind die einzelnen Objekte zu groß, zu verstehen und zu pflegen? Wenn Sie besser die Arten von Fehlern definieren können Sie hoffen, um zu identifizieren, wird es Ihnen helfen, geeignete Metriken zu finden. Für den Fall, sie sind hilfreich, hier ist ein Reihe von nützlichen Metriken .

Andere Tipps

Haben Sie einen Blick auf die 82 Code-Metriken durch das Werkzeug NDepend unterstützt Definitionen für .NET Entwickler.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top