Hallo zusammen,
da schon solche Fragen augetaucht sin und dass etwas ist, dass jeder brauchen kann, starte ich mal diese Gemeinschaftstutorial.
Jeder soll doch seine Tipps posten und ich trage dann - der Übersicht halber - alles in den ersten Post.
Habt ihr Regeln für saubere Programmieren?
___
Resource Sparen
- möglichst wenig und langsames Polling.
- möglichst wenig easy VIs verwenden besonders dan wenn zum Beispiel etwas in einem Loop in eine Datei gespeichert wird. Dan nur das Lesen im Loop und Referenz öffne un dschliessen vor bzw. hinter dem Loop.
- Array-bearbeitende VIs brauchen viel Ressourcen (wenn möglich nicht in Loops)
- Bei der Bearbeitung von Arrays: For-Schleifen den While-Schleifen bevorzugen, da die For-Schleifen in vorherein wissen wieviel Speicher benötigt wird und die While-Schleife bei jeder Iteration neuen Speicher allokiert.
- SubVIs dynamisch Aufrufen, da normal aufgerufene SubVIs immer beim Starten des HauptVIs geladen werden. (In LabVIEW 8 gibt es Schleifen die dies direkt Lösen.) genaueres unter
Ausfuehrungsprioritaeten/Speicherallokierung in/von LabVIEW
Sauberes und Übersichtliches
- immer von Links nach recht Coden
- in SubVIs unterteilen (wird überischtlicher und der gesammte Code muss nicht auf einmal geladen werden)
- so wenig globale Variablen wie möglich verwenden
- kein wire-crossing (wenn irgend möglich)
- Datenströme sinnvoll zusammenfassen (Cluster, Arrays). Z.B. nicht zehn Connectors an ein SubVI, wenn nur einige vom User eingegebene Strings übergeben werden.
- Größe des Block-Diagramms auf möglichst eine Seite beschränken.
- "Icons eng gruppieren, aber nicht zu eng!" - Gleiches gilt für die Verbindungen. Die Verbindungen sollten mindestens soweit auseinander liegen, dass man sie mit den Augen (statt mit dem Mauszeiger oder Finger) verfolgen kann
- SubVI-Icons sinnvoll gestalten/beschriften (gibt nix schlimmeres, als wenn alle SubVIs gleich aussehen)
- Farbwahl bei Icons möglichst konsequent
- Viel/Geschickt kommentieren, besonders bei komplexen Abläufen, das hilft später oder anderen sich schneller in den Ablauf reinzudenken
___
Es gibt noch viele mehr. Also posted,schickt PMs oder mailt mir.
g markus