INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Was für Nachteile haben Lokale Variablen



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

14.12.2007, 09:08
Beitrag #1

Lucc Offline
LVF-Grünschnabel
*


Beiträge: 32
Registriert seit: Oct 2007

8.00
2007
kA

77709
Deutschland
Was für Nachteile haben Lokale Variablen
Hallo Leute,

meinem VI hat einige Lokale Variable, nun hab ich gehört, dass man diese nicht so oft benutzen soll.
Könnte Ihr mir sagen wieso!

MfG

Markus Cavallucci
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
14.12.2007, 09:27
Beitrag #2

s200rs Abwesend
LVF-Gelegenheitsschreiber
**


Beiträge: 75
Registriert seit: Jul 2005

7.1 / 8.5.1
2002
DE

02826
Deutschland
Was für Nachteile haben Lokale Variablen
Hallo,

das einzige, was ich dazu weiß ist, daß man die Verwendung von lokalen Variablen vermeiden sollte und statt dessen die Ausgänge von Sub-VIs wieder mit den Eingängen der nachfolgenden verbindet, bzw. im gleichen Atemzug auch die Verwendung von Sequenzen vermeidet (wo man dann im nachfolgenden Fenster wieder eine lokale Variable vom gleichen Objekt wie in einem vorhergehenden verwenden würde).
Ziel des ganzen ist, daß der Daten- bzw. Signalfluß erhalten und übersichtlicher bleibt.

Ob das ganze auch noch irgendwelche programmtechnische Hintergründe hat, wie z.B. Speicherbedarf etc., kann ich leider nicht sagen.

Gruß Andreas

________________

LV 7.1; 8.5
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.12.2007, 09:40
Beitrag #3

weesnich Offline
LVF-Grünschnabel
*


Beiträge: 37
Registriert seit: Dec 2007

8.2
2007
kA

7XXXX
Deutschland
Was für Nachteile haben Lokale Variablen
Also ich kenn mich ja mit LabVIEW noch nicht besonders aus, aber sonst kenne ich es das eine globale mehr Speicherplatz frisst als eine lokale, da die lokale erst initialisiert wird beim starten der Funktion etc.
Und was du meinst s200rs versteh ich nicht. lokale Variablen gelten doch gerade nur für ein VI, wieso sollte man die an ein weiteres VI abtreten anstatt eine globale zu verwenden? oder versteh ich da was komplett falsch?

gruß weesnichgenau
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.12.2007, 09:48
Beitrag #4

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Was für Nachteile haben Lokale Variablen
Lokale Variablen benötigen Speicherplatz pro zu lesender Variablen. Wenn du also 27 Lokale Variablen hast, die gelesen werden sollen, so muss bei jedem Schreiben auf eine Lokale Variable - und beim Schreiben auf das Element - alles 28 mal gemacht werden. Ist die Variable ein aufwändiger Cluster oder gar ein Array, ist der Platzverbrauch entsprechend. Neben dem Speicherbedarf ist da natürlich auch noch die Prozessorzeit, die - meistens unnötigerweise - verbraucht wird. Wahrscheinlich (Wahrscheinlich deswegen, weil ich mir um solche Sachen eigentlich keine größeren Gedanken mache) ist das Beschreiben dieser Lokalen Variablen noch komplizierter, da sie auch noch in unterschiedlichen Prozessorthreads liegen können, was ein thread-übergreifendes Speicherzugriffs-Handling benötigt. Und das ist nicht ohne.

Für viel wichtiger halte ich aber das Argument der Datenflußsteuerung. LV ist datenflußgesteuert. Und das heißt nun mal: Wire, Wire, Wire (Datenleitung, Datenleitung, Datenleitung). Alles mit Sequenzierung (Datenfluß ist nichts anderes) zu machen erleichtert außerdem die Lesbarkeit - erheblich.

Das (übermäßige) Benutzen von Lokalen Variablen hat außerdem den Nachteil: Wer lokale Variablen benutzt, benutzt auch alle anderen "Features" und Programmier-Konstrukte, die eigenlich nicht in eine Datenflußsteuerung gehören.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.12.2007, 09:53
Beitrag #5

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Was für Nachteile haben Lokale Variablen
' schrieb:Und was du meinst s200rs versteh ich nicht. lokale Variablen gelten doch gerade nur für ein VI, wieso sollte man die an ein weiteres VI abtreten anstatt eine globale zu verwenden? oder versteh ich da was komplett falsch?
Nein, komplett falsch nicht.

Er meint ja (wahrscheinlich): Anstelle vom VI heraus in eine Lokale Variable schreiben, die dann selbst wieder als Eingang auf ein anderes VI geht, kann man gleich die beiden VIs verbinden, sodass mal die Lokale Variable (und demzufolge auch das Element, was hierfür notwendig ist) gar nicht braucht.

Im übrigen bin ich der Meinung, dass globale Variablen noch schlimmer sind als lokale. Wink

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.12.2007, 10:26
Beitrag #6

weesnich Offline
LVF-Grünschnabel
*


Beiträge: 37
Registriert seit: Dec 2007

8.2
2007
kA

7XXXX
Deutschland
Was für Nachteile haben Lokale Variablen
Bei LabVIEW habe ich bisher beide auch gar keine gebrauchen können, wo das bei Programmiersprachen absolut unumgänglich war.
Poste doch mal dein VI, vielleicht lassen die Variablen sich einfach vermeiden und das Thema ist gegessen ^^
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
14.12.2007, 11:50
Beitrag #7

Oliver Listing Offline
LVF-Freak
****


Beiträge: 721
Registriert seit: Sep 2004

2012 und 2014 (Windows und Linux)
1998
EN

22844
Deutschland
Was für Nachteile haben Lokale Variablen
Moin,

das Hauptproblem aus meiner Sicht besteht bei der Verwendung von Globalen- und Lokalen Variable in der Kopplung.
Diese gibt an, wie stark Funktionen miteinander Verknüpft sind. Aus SoftwareQS-Sicht ist eine Lose Kopplung anzustreben.

Lokale- und ganz besonders Globale Variablen verleiten nun aber einmal dazu die Lose Kopplung aufzubrechen. Gerade, wenn nachträglich Änderungen in ein bestehendes Konzept einfließen und diese nicht nochmals die Plannungsstufen durchlaufen.

Gruß
Oliver
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.12.2007, 12:23
Beitrag #8

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Was für Nachteile haben Lokale Variablen
Zu diesem Thema passt sicherlich der Beitrag, denn ich gerade im anderen Thema geschrieben habe.

MfG, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.12.2007, 12:53
Beitrag #9

s200rs Abwesend
LVF-Gelegenheitsschreiber
**


Beiträge: 75
Registriert seit: Jul 2005

7.1 / 8.5.1
2002
DE

02826
Deutschland
Was für Nachteile haben Lokale Variablen
' schrieb:Anstelle vom VI heraus in eine Lokale Variable schreiben, die dann selbst wieder als Eingang auf ein anderes VI geht, kann man gleich die beiden VIs verbinden, sodass mal die Lokale Variable (und demzufolge auch das Element, was hierfür notwendig ist) gar nicht braucht.

Im übrigen bin ich der Meinung, dass globale Variablen noch schlimmer sind als lokale. Wink
@ weesnich, IchSelbst,

genau:
Habe mich da bißl schwer verständlich ausgedrückt Blush, aber ich meine genau das, was IchSelbst geschrieben hat.
Als LV-Anfänger habe ich fast nur mit lokalen Variablen gearbeitet, macht sich aber u.a. schwierig bei der Fehlersuche, oder beim Verstehen von schlecht dokumentierten VIs.

und nochmal "genau:" Pipe:
Ich denke auch, daß globale Variablen schlimmer sind als lokale, ich verwende mittlerweile keine mehr.

________________

LV 7.1; 8.5
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.12.2007, 14:04
Beitrag #10

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Was für Nachteile haben Lokale Variablen
' schrieb:Aus SoftwareQS-Sicht ist eine Lose Kopplung anzustreben.
Oliver Frank hat das sehr schön und kurz und knapp ausgedrückt.

Da will ich doch gleich noch was zu schreiben:
Die Funktionsfähigkeit eines Softwareprogrammes (SP) ist nicht zwangsläufig das wichtigste Kriterium, wie ein SP zu schreiben ist. Von Standpunkt der Funktionsfähigkeit aus gesehen, habe ich gar kein Problem mit lokalen und auch nicht mit globalen Variablen (LV kann das und soll das auch machen). Viel wichtiger ist heutezutage aber die Wiederverwendbarkeit sowie die Debugfähigkeit eines SP. Wiederverwendbarkeit bedeutet: Ich nehme ein Modul aus einem SP heraus und baue es in ein anderes SP ein. Wenn der Auswand der Intergration des Modules gegen Null geht oder nur sehr klein ist, ist das Modul gut und auch das (andere) SP. Hat das Modul aber nun globale (aber auch mit lokalen würde das so sein) Variablen, so muss in dem anderen SP auch die Variable (Anzeige- oder Bedienelement) ergänzt werden. Das kann einfach aber auch bis hin zu unmöglich sein: Was tun, wenn es in den neuen SP bereits ein Element gleichen Names gibt? Kommt es in dem neuen SP zu RaceConditions bei Verwendung der Variablen? etc.

Um noch mal die Worte von Oliver Frank zu bemühen: Je loser die Kopplung, desto besser. Je mehr lokale/globale Variablen, desto fester die Kopplung.

Im übrigen gilt das mit der Kopplung nicht nur für datenfluß-orientierte Programmiersprachen sondern auch für strukturierte und objektorientierte.


Zitat:Lokale- und ganz besonders Globale Variablen verleiten nun aber einmal dazu die Lose Kopplung aufzubrechen.
Wenn das mit dem Verleiten halt nicht immer so schön wäre ... (Überlegt euch mal es gäbe in LV noch einen goto. Ja, selbst der wird noch bei objektorientiert benutzt.)

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Lokale Variablen eliminieren / Signale Zusammenfassen Philipp841 8 4.451 30.09.2019 09:51
Letzter Beitrag: Philipp841
  Wie kann man Lokale Variablen sauber verpacken? Tobzn 10 6.786 04.03.2018 12:02
Letzter Beitrag: IchSelbst
  Lokale Variable galilio 5 4.265 09.02.2017 22:20
Letzter Beitrag: Trinitatis
  Schleifenkommunikation: Melder und Benutzer-Ereignisse oder lokale Variablen lumaxo 7 5.601 19.03.2015 17:49
Letzter Beitrag: lumaxo
Question Lokale Variablen wie in textbasierten Sprachen nutzen RobBoss 5 4.718 28.05.2014 11:59
Letzter Beitrag: Kiesch
  Lokale Variable in while-Schleife auslesen Io1610 6 6.809 26.05.2014 15:57
Letzter Beitrag: Io1610

Gehe zu: