StructorizerHandbuch DE

Deklarationen ausblenden?

Symbol des Modus "Reine Deklarationen ausblenden?" (hohe Auflösung)
Symbol des Modus "Reine Deklarationen ausblenden?" (hohe Auflösung)

Die Möglichkeiten zur Datenbeschreibung in Structorizer wurden in den letzten Jahren erheblich erweitert (z. B. Verbunddtyp-Definitionen, Konstantendefinitionen, reine Variablendeklarationen und ggf. sogar Methodendeklarationen). Einerseits war das hilfreich, um aussagekräftigere Algorithmen zu modellieren und insbesondere Quellcode-Importe mit möglichst wenig Informationsverlust zu ermöglichen.

Andererseits kann all diese beschreibende Macht, untergebracht in Instruction-Elementen, schnell dazu führen, dass sie große lineare Teile eines Diagramms einnimmt und so die Aufmerksamkeit von der eigentlichen Algorithmusstruktur ablenkt:

Diagrammbeispiel mit Deklarationen
Diagrammbeispiel mit Deklarationen

Um zu den Wurzeln zurückzukehren – d. h. zum ursprünglichen Zweck eines Nassi-Shneiderman-Diagramms – könnte man natürlich alle deklarativen Teile löschen, würde dabei aber die Möglichkeiten des Debuggings (Ausführung) und eines sinnvollen Code-Exports verlieren oder zumindest einschränken.

Version 3.27-04 brachte Abhilfe: Die Anzeigeeinstellung "Hide mere declarations?" (Reine Deklarationen ausblenden?) wurde eingeführt, mit der sich der Großteil der deklarativen Elemente ausblenden lässt, ohne sie zu entfernen. Den entsprechenden Kontrollkästchen-Menüpunkt finden Sie im Menü "View" (vor Version 3.32-13 im Menü "Diagram"):

View-Menü mit hervorgehobenem Menüpunkt "Reine Deklarationen ausblenden?"
View-Menü mit hervorgehobenem Menüpunkt "Reine Deklarationen ausblenden?"

Ähnlich wie beim Einklappen komplexer Elemente wird eine gesamte Sequenz rein beschreibender Elemente (Typdefinitionen und Variablendeklarationen ohne Initialisierung) dann nur noch durch ein Ersatzelement (Platzhalter) repräsentiert, das genau wie ein eingeklapptes Instruction-Element aussieht, aber ein spezifisches Symbol trägt: das Symbol des Modus "Hide mere declarations?" (identisch mit dem im Menüpunkt). Structorizer erkennt automatisch die maximale Ausdehnung von Deklarationssequenzen. Im Gegensatz zum Einklappen ist dies jedoch keine elementindividuelle Änderung, sondern eine globale Anzeigeeinstellung (wie Kommentaranzeigemodi), die also alle deklarativen Teile in allen Diagrammen gleichzeitig betrifft. Das Aktivieren oder Deaktivieren dieses Modus hat keinerlei Auswirkung auf die Diagramme selbst.

Konstantendefinitionen und Variableninitialisierungen (d. h. Zuweisungen) gelten jedoch nicht als rein beschreibende Elemente, da sie beim Erreichen während der Ausführung tatsächliche Verarbeitungsschritte auslösen. Daher endet (wird unterbrochen) jede Deklarationssequenz an jeder Konstantendefinition oder Variableninitialisierung (wie auch an regulären algorithmuseigenen Strukturen).

Diagramm mit ausgeblendeten Deklarationen (Demo)
Diagramm mit ausgeblendeten Deklarationen (Demo)

Hinweis: Beim Bearbeiten eines Diagramms ist zu beachten, dass die Ersatzelemente für Deklarationssequenzen diese als Ganzes repräsentieren: Wenn Sie ein Ersatzelement löschen oder verschieben, betrifft dies stets die gesamte dahinter verborgene Sequenz! Wenn Sie im Modus "Hide mere declarations?" ein neues Deklarationselement direkt nach oder vor einem solchen Ersatzelement einfügen, sollten Sie nicht erwarten, es sofort zu sehen, da es ebenfalls sofort ausgeblendet wird. Wenn Sie es jedoch vor dem bisherigen Ersatzelement eingefügt haben, nimmt es dessen Stelle ein, d. h. seine erste Zeile erscheint nun als sichtbarer Inhalt des Ersatzelements.