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 

Grundlegendes Verständnis von LV



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!

10.06.2007, 08:35
Beitrag #11

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Grundlegendes Verständnis von LV
' schrieb:man sollte lokale Variablen nur dann verwenden, wenn man Controls auslesen / aktualisieren möchte, z.B. ein Control auf einen bestimmten Wert initialisieren, oder einen Indicator (schnell und schnutzig) auf einen bestimmten Wert einstellen, wenn der Datenfluss "zu viel Arbeit" machen würde ... etc

So sehe ich das auch, aber manche hier in diesem Forum schütten das Kind mit dam Bade aus und vertreten die Meinung, daß man lokale Variablen grundsätzlich nicht verwenden sollte. Das Absurdeste war, daß jemand lokale Variablen gleichsetzte mit dem goto- Befehl in einer ansonsten strukturierten Umgebung und dafür die Zustimmung von anderen bekam. Aus dieser Diskussion habe ich mich ganz still fortgeschlichen.

Was man nicht tun sollte: In der zeitkritischen Hauptschleife große Array/Clusterstruktueren mit lokalen Variablen bedienen. (Man achte z.B. darauf, daß die laufende Aktualisierung eines Wertes in der Hauptschleife direkt geschieht, und nur die Initialisierung über eine lokale Variable, und nicht umgekehrt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.10.2007, 08:04
Beitrag #12

cb Offline
LVF-SeniorMod


Beiträge: 1.731
Registriert seit: Feb 2006

2018SP1
2001
EN

40xxx
Deutschland
Grundlegendes Verständnis von LV
' schrieb:So sehe ich das auch, aber manche hier in diesem Forum schütten das Kind mit dam Bade aus und vertreten die Meinung, daß man lokale Variablen grundsätzlich nicht verwenden sollte. Das Absurdeste war, daß jemand lokale Variablen gleichsetzte mit dem goto- Befehl in einer ansonsten strukturierten Umgebung und dafür die Zustimmung von anderen bekam. Aus dieser Diskussion habe ich mich ganz still fortgeschlichen.

ich seh erst jetzt dass du darauf nochmal geantwortet hastWink

joh, die ofizielle Meinung "locals sind BÖÖÖÖHHHHSEE" wird ja auch von mir forciert und unterstützt, weil viele Anfänger - gerade wenn sie von text-orientierten Programmiersprachen zu LV kommen - viel zu viele lokale Variablen einsetzen. Es ist wie im richtigen Leben: die Menge macht's bzw. die Art und Weise wie locals eingesetzt werden.

Angenommen ich möchte einen Dialog programmieren, in dem ich irgendwelche Werte verändern kann. Diese Werte sollen beim aufpoppen des Dialogs bereits in den Eingabefeldern stehen, dann hab ich nur 2 Möglichkeiten: Entweder ich verwende locals oder - falls ich noch Properties setzen muss (z.B. disabled oder so ...) - dann eben die Value Eigenschaft der Property node. Hier sind locals angebracht und richtig eingesetzt.

Eine lokale Variable in eine State-Machine die ich verwende um ein Conrol zu setzen, weil ich vergessen hab das als Schiebe-Register anzulegen ist IMHO akzeptabel.

Lokale Variablen die z.B. zum Datenaustausch zwischen zwei parallelen While-Loops dienen sind in meinen Augen schlicht ein Programmierfehler, genauso wie locals mit denen State-Machines angesteuert werden, etc ... was man halt alles so sieht wenn man fremden Code angucken muss ...

http://www.rotabench.com - rotierende Prüfstände nach dem Baukasten-Prinzip
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.10.2007, 14:19
Beitrag #13

Benjamin Fuchs Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 86
Registriert seit: Aug 2007

8.20
2007
kA

90427
Deutschland
Grundlegendes Verständnis von LV
' schrieb:ich seh erst jetzt dass du darauf nochmal geantwortet hastWink

joh, die ofizielle Meinung "locals sind BÖÖÖÖHHHHSEE" wird ja auch von mir forciert und unterstützt, weil viele Anfänger - gerade wenn sie von text-orientierten Programmiersprachen zu LV kommen - viel zu viele lokale Variablen einsetzen. Es ist wie im richtigen Leben: die Menge macht's bzw. die Art und Weise wie locals eingesetzt werden.

Dem kann ich als relative frischer Umsteiger zustimmen, man muss sich erst an die Geänderten Gegebenheiten der "grafischen" Programmierung gewöhnen. In einfachen textbasierten Programmen werden auch schon zuviele "Variablen" benutzt und weniger Referenzen übergeben. Wer dieses Programmierkonzept auf LabVIEW überträgt hat anfangs einfach den Drang alles in Lokalen Variablen zu Lösen.

' schrieb:Angenommen ich möchte einen Dialog programmieren, in dem ich irgendwelche Werte verändern kann. Diese Werte sollen beim aufpoppen des Dialogs bereits in den Eingabefeldern stehen, dann hab ich nur 2 Möglichkeiten: Entweder ich verwende locals oder - falls ich noch Properties setzen muss (z.B. disabled oder so ...) - dann eben die Value Eigenschaft der Property node. Hier sind locals angebracht und richtig eingesetzt.

Eine lokale Variable in eine State-Machine die ich verwende um ein Conrol zu setzen, weil ich vergessen hab das als Schiebe-Register anzulegen ist IMHO akzeptabel.

Lokale Variablen die z.B. zum Datenaustausch zwischen zwei parallelen While-Loops dienen sind in meinen Augen schlicht ein Programmierfehler, genauso wie locals mit denen State-Machines angesteuert werden, etc ... was man halt alles so sieht wenn man fremden Code angucken muss ...

Wenn man nun noch den Fehler macht und vergisst sich über das Timing gedanken zu machen hat man als Anfänger auch schnell das große Fragezeichen im Gesicht. Angenommen ich lese in einer Schleife Messwerte und Schreibe diese in eine lokale Variable und lese mit einer zweiten nicht getimten Schleife diese lokale Variable aus kann ich womöglich Messwerte verpassen... Das mit dem Timing und lokalenen Variablen kommt denke ich auch von dem Denken in seriellen Programmen und nicht in parallelen Abläufen (Wobei bis 8.2.1 das Wort parallel nicht gerade wörtlich zu nehmen istSmile).

Es gibt nicht umsonst in LabVIEW lokale Variablen, diese haben schließlich auch Ihre Berechtigung. Allerdings sollte für Anfänger generell gelten löse erst alles in anderen methoden und wenn es gar nicht mehr geht dann löse es mit einer lokalen VariableSmile

Ich würde mich ja gerne mit Dir geistig duellieren, aber ich sehe Du bist unbewaffnet.
--------------------
Der Vorteil von Klugheit ist, dass man sich dumm stellen kann. Das Gegenteil ist schwieriger.
--------------------
Damit immer mehr immer weniger tun können, müssen immer weniger immer mehr tun.
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
  Dataflow Verständnis Beispiel 911tom 9 5.275 28.11.2017 07:54
Letzter Beitrag: GerdW
  Brauche Hilfe zum Verständnis von XControls Hasenfuss 0 2.368 19.02.2013 11:24
Letzter Beitrag: Hasenfuss
  Allgemeine Fragen zum besseren Verständnis xyzabc 14 10.334 13.09.2007 15:14
Letzter Beitrag: oenk

Gehe zu: