Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

Visual Studio 2013 Grundkurs

Aufrufhierarchie

Testen Sie unsere 2013 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Die Aufrufhierarchie stellt ein Hilfsmittel für das Verständnis von bestehendem Quellcode zur Verfügung. Diese beinhaltet Informationen über den Aufruf bestimmter Methoden.
03:46

Transkript

Das Schreiben von neuem Quellcode ist eine der Hauptaufgaben von Entwicklern. Oftmals bekommen Entwickler aber auch bestehenden Code oder müssen sich in den Code von irgendwelchen Kollegen oder von Fremdenanbietern einarbeiten, so dass das Verständnis und das schnelle Erarbeiten von Verständnis innerhalb von Code eine extrem wichtige Rolle spielt. Dazu gibt es im Visual Studio verschiedenste Hilfsmittel, und wir schauen uns jetzt mal in dem Zuge das Aufruffenster an oder die Aufrufhierarchie an. Wenn ich mir die Aufrufhierarchie anzeigen möchte, muss ich zunächst mal das Aufrufhierarchie-Fenster einblenden, und das mache ich auch wieder bei Ansicht und dann hier die Aufrufhierarchie. Wenn ich das Ganze mache, wird jetzt hier an dieser Stelle ein Element angepinnt. Ich lösche mal die vorher dargestellten Elemente. Und wir möchten jetzt gerne mal den Aufruf einer Methode visualisieren. Standardmäßig wird an dieser Stelle nichts angezeigt, das heißt, es werden nicht standardmäßig alle Methoden-Aufrufe in der kompletten Projektmappe analysiert. Das wäre alles auch ein bisschen viel. Wir müssen explizit in dieser Aufrufhierarchie erst mal etwas hinzufügen. Und wir haben hier unsere "Class2", und die hat eine Methode "Foo", und die möchten wir an der Stelle analysieren. Und das geschieht durch einen Rechtsklick, dann sagen wir hier an der Stelle: "Okay, bitte die Aufrufhierarchie anzeigen!" Wenn ich das mache, wird hier auf der rechten Seite in meiner Aufrufhierarchie tatsächlich jetzt hier diese Methode "Foo" angezeigt, und nur die Methode "Foo", und ich kann das Ganze jetzt hier analysieren. Ich kann also sagen: "Okay, erst mal wo wird "Foo" überall aufgerufen, diese Methode?" Dann sehen wir, okay, "Foo" wird hier aufgerufen, an dieser Stelle, und wenn ich einen Doppelklick mache, dann lande ich hier, also in der anderen Methode "Foo", - das ist eine schlechte Namenswahl - der Klasse 3 wird "Foo" aufgerufen. Zunächst wird hier das Objekt erstellt und danach wird "Foo" aufgerufen. Okay, also springen wir zurück zu unserem "Foo", analysieren wir das Ganze weiter. Okay, was wird denn durch "Foo" aufgerufen? Also, wenn wir das verstehen wollen, wie die Methode funktioniert. Welche Methoden werden von "Foo" denn aufgerufen? Von "Foo" wird aufgerufen "Foo2". Okay. Wo ist "Foo2"? "Foo2" ist an der Stelle, okay. Was wird dann weiter von "Foo2" aufgerufen? Okay, ich kann jetzt hier sagen: "Wer ruft 'Foo2' auf?" Das heißt, es gibt ähnliche Methoden, die ebenfalls "Foo2" aufrufen, wie meine Methode "Foo", um da vielleicht Gemeinsamkeiten zu erkennen. Und das Ganze kann ich dann machen, indem ich mir die Aufrufe von "Foo2" anschaue. Und das wird wiederum von "Foo" aufgerufen, war klar, das ist die Methode, von der wir gestartet sind. Und danach können wir uns angucken, wen ruft jetzt "Foo2" an der Stelle noch auf. Okay, "Foo2" ruft "Bar" auf, dann kann ich mir "Bar" anschauen, kann hier wieder gucken, okay, ruf das dann noch irgendwas auf. Nein, ruft es nicht mehr auf. Zusätzlich kann ich mir, wenn ich einzelne Elemente hier selektiere, immer anschauen, wo der Aufrufort ist, und wo der entsprechende Speicherort, also in welcher Klasse das Ganze ist. Ich kann mir hier und in komplexeren Strukturen natürlich ganz besonders damit also wirklich komplexere Aufruflisten und -kaskaden von solchen Methoden anschauen, und kann denn mal schauen, wovon wird die Methode aufgerufen und was ruft die Methode weiterhin auf. Die sonstigen Einschränkungen hier oben beziehen sich darauf, was hier für Elemente angezeigt werden. Ich war jetzt hier gerade bei meiner Projektmappe, könnte aber auch sagen: "Okay, ich möchte nur aus dem aktuellen Projekt die Elemente angezeigt haben oder nur aus dem aktuellen Dokument." Das heißt, wenn ich eine Methode habe, die zum Beispiel von außen von tausend verschiedenen Projekten aufgerufen wird, ich aber nur das aktuelle Dokument analysieren möchte, dann wähle ich hier "Aktuelles Dokument" aus. In diesem Beispiel bringt es grad nichts, aber damit würde ich an der Stelle halt Übersichtlichkeit schaffen. Was man an der Stelle vielleicht noch sagen sollte, wenn ich jetzt hier irgendwas ändere innerhalb meines Codes, dass ich zum Beispiel hier sage: "Okay, ich kommentiere das Ganze hier mal aus!", dann wird es auf der rechten Seite nicht direkt angepasst. Ich muss es immer erst aktualisieren und erst nach dem Aktualisieren erkennt er, okay, jetzt wird das Ganze nicht mal aufgerufen. Also es ist nicht irgendwie ständig synchronisiert zwischen dem Code und der Aufrufhierarchie. Wir haben uns in diesem Video mal die Aufrufhierarchie angeguckt. Die ist besonders dann nützlich, wenn ich bestehenden Code analysieren möchte und verstehen möchte, in welcher Reihenfolge welche Methode welche aufruft, und wenn ich verstehen möchte, von welcher Methode andere Methoden wiederum aufgerufen werden.

Derzeit sind keine Feedbacks vorhanden...
 

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!