Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Reihenfolge der Code Element Überprüfung

Begonnen von mmarschner, März 21, 2025, 08:22:39

⏪ vorheriges - nächstes ⏩

mmarschner

Hallo zusammen,

ich verwende in Access die MZ-Tools. Dort kann man ja die "Qualität" der Anwendung überprüfen, was ich ganz Sinnvoll finde, und was mir schon einige Vorteile gebracht hat.

Nun habe ich einmal die "Reihenfolge der Code Elemente" überprüft, wobei sich mir die Frage stellt, ob die Reihenfolge der verschiedenen Public Function oder Private Sub eine große Rolle spielt, z.B. auf die Performance, etc. Anscheinend prüft die Qualitätsprüfung auf eine alphabetische Reihenfolge.

Kann mir dazu jemand etwas genaueres sagen, da ich hierzu bei meiner bisherigen Suche nichts gefunden habe.

Schon einmal vielen Dank und einen schönen Tag

Michael

PhilS

Zitat von: mmarschner am März 21, 2025, 08:22:39Nun habe ich einmal die "Reihenfolge der Code Elemente" überprüft, wobei sich mir die Frage stellt, ob die Reihenfolge der verschiedenen Public Function oder Private Sub eine große Rolle spielt, z.B. auf die Performance, etc. Anscheinend prüft die Qualitätsprüfung auf eine alphabetische Reihenfolge.
Rein technisch, aus Sicht des Compilers, ist die Reihenfolge der Code-Elemente komplett irrelevant.

Die Funktionalität von MZ-Tools dient dazu, dass du als Entwickler eine für dich logische Reihenfolge der Elemente definierst, die du dann jederzeit auf Knopfdruck für ein Modul anwenden kannst.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

mmarschner

Hallo PhilS,

danke für die Info, ich hatte mir auch schon so etwas gedacht.

Michael

knobbi38

Hallo Michael,

die Reihenfolge von Funktionen und Prozeduren spielt keine Rolle, weil das technisch gesehen nur Adressen sind und die "Sprungweite" dabei keine Rolle spielt. Theoretisch könnte man noch darüber nachdenken, ob man die Sprungvorhersage von CPUs besser unterstützen könnte, aber das ist eher ein Thema moderner Kompiler, wozu ich VBA nicht zähle.

Es gibt aber ein paar Möglichkeiten, den Code dahingehend zu optimieren, daß Prüfungen möglichst wenig ausgeführt werden müssen, z.B. beim Select hat es Vorteile, wenn der Case-Fall mit dem wahrscheinlichsten Treffer am Anfang steht; gilt auch für IF-THEN-ELSEIF Ketten. Auch sollten in Schleifen nur veränderliche Daten verwendet werden und keine konstante Zuweisungen, genauso wenig wie das Erstellen von Objekten. Aber das sind allg. gültige Regeln. Inwieweit das dann auch einen wirklich messbaren Einfluß auf die Performance hat, muß man dann selber beurteilen.

Gruß Knobbi38
 
 

Bitsqueezer

Hallo,

da hilft auch einfach ein Blick in die Doku:
https://www.mztools.com/v8/onlinehelp/MZTools8Help.html?sort_code_elements_manual.htm

Diese "Qualitätsprüfungen" dienen nicht der Performance, sondern aufgeräumten Code nach bestimmten Regeln zu definieren. Wenn man etwa in einem Entwicklerteam arbeitet, damit sich alle an die Regeln halten und gleichermaßen definierten Code liefern, wie er in den Regeln festgehalten wird.

Weil: Man kann an beliebiger Stelle Prozeduren, Properties usw. definieren. Aber "schön" ist es, wenn z.B. erst alle Konstanten, Enums usw. definiert sind, dann alle Properties, dann allgemeine Methoden/Funktionen, dann Event-Funktionen - als Beispiel. Das kann man in den Regeln definieren und dann stellt MZTools die Codemodule automatisch entsprechend ein. Zusammen mit vielen anderen Aufräumregeln wie Header mit Beschreibung, Fehlerbehandlung uvm.

Es hat also alles nichts mit Performance zu tun, sondern nur mit aufgeräumtem Sourcecode.

Gruß

Christian



mmarschner

Guten Morgen und noch einmal vielen Dank für die zusätzlichen Informationen.

Michael