Ich sehe einen Arduino Sketch so:
ist etwa das gleiche wie:Code:void loop() { ... }
Wenn nun Variablen in der Loop- (oder While-) Schleife gebraucht werden, deklariere ich sie außerhalb. Innerhalb würde bedeuten, dass sie in jedem neuen Durchlauf weggeschmissen und neu erstellt werden müssen (Stack). In diesem Fall entscheide ich mich also ganz bewußt für diese Vorgehensweise, nicht aus schlechter Gewohnheit.Code:while(1) { ... }
Im Allgemeinen stimme ich aber shedepe in allen Punkten zu.
Touché!
Außerdem würde ich den Fall des Arduinos nur halb gelten lassen. Letztendlich ist es ja nichts anderes als eine while(1) Schleife im Hintergrund bei der ständig die Funktion loop() aufgerufen wird. Es kommt eher selten vor, dass man solche Programmierkonstrukte hat die man nicht selber beeinflussen kann. Sonst könnte man auch der Funktion loop die passenden Argumente übergeben oder sich die Funktion gleich sparen.
Lesezeichen