|
Startseite | Registrieren | Hilfe | Benutzerliste | Kalender | Suchen | Heutige Beiträge | Alle Foren als gelesen markieren |
Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4. |
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
|||
Schleifenbedingungen
Wann ist es sinnvoller eine der beiden Auswahlkriterien zu verwenden?
Beispiel: Code:
for(int i=0; i<100; i++) { //1. Möglichkeit: Ausschluß aller anderen if(Bedingung!=erfüllt) continue; ActionBeiBedingungErfüllt; //2. Möglichkeit: nur bei Bedingung if(Bedingung==erfüllt) ActionBeiBedingungErfüllt; } Oder ist das letztlich egal? Freue mich, Eure Meinung dazu zu hören. AVT |
|
|||
Ist egal. Persönlich bevorzuge ich die 2. Variante. Bin ein visueller Typ und kann den Code besser lesen, wenn das, was beim IF passieren soll, eingerückt wird.
Wenn aber viel Code kommt, verwende ich auch schon mal Variante 1. |
|
|||
Danke für Deinen Kommentar. AVT
|
|
|||
Nun ja, das kommt bei mir v.a. darauf an, was nach if in der Schleife steht.
Schon allein die Tatsache, dass falls 2. geschrieben wird und nach if weiterer Code steht, der auch für den Fall false abgearbeitet werden muss, verbietet sich automatisch die Variante 1. Insofern kann ich dann diese Frage von @AVT: "Oder ist das letztlich egal?" eindeutig mit Nein beantworten. D.h. bei z.B. verschachtelten Schleifen würde ich Variante 1. wählen. Aber ich denke, @AVT meinte in der Tat nur diese eine if-Abfrage innerhalb der Schleife. In der Dauer der Abarbeitung beider Varianten gibt es keine signifikanten Unterschiede. Also wäre es dann auch wurscht, welche Variante man wählt. Dann wäre die Antwort: Ja. traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. Geändert von traderdoc (17.07.21 um 10:28 Uhr) |
|
|||
Für "um Fehler auszuschließen" ist definitiv Variante 2 zu bevorzugen, Begründung siehe traderdoc. continue eher nur wenn man bewusst bestimmten Code überspringen möchte.
Zudem würde ich immer geschweifte Klammern nutzen, dies kann zusätzlich dafür sorgen Fehler auszuschließen wenn der Code zB um weitere Aktionen erweitert wird. |
|
|||
Danke für all Eure Antworten.
Ich habe mir angewöhnt, die 2. Variante zu schreiben und damit die genauen Bedingungen festzulegen. Nun habe ich aber beim Codelesen oft schon die 1. Variante gesehen, was mich zu der Frage brachte. @Ca$Digger Klammern stimmt, sind bei mir schon aufgrund der Debug-Prints (kann man ja kommentieren, wenn nicht mehr gebraucht ). Mal angenommen, ich untersuche einen Chart, auf dem etliche Objekte sind, mit interessieren aber nur grüne Horizontallinien. Dann kann ich entweder 1. erst mal alles ausschließen, was nicht Horizontallinie ist, und dann sehen ob der Rest grün ist. oder 2. direkt nur nach grünen Horizontallinen suchen. Erweiterbar sind bei Version gleichermaßen. Brauche ich irgendwann auch rote Horizontallinien, suche ich im 1. Fall dann zusätzlich nach roter Farbe im 2. Fall suche ich direkt nach roten Horizontallinien Die Codelänge hat bei mir noch nie eine Rolle gespielt, Hauptsache klar und verständlich. @traderdoc Ja, ich meinte tatsächlich eine if-Abfrage. Daß es in der Dauer der Abarbeitung wenig Unterschiede gibt, ergibt sich ja schon daraus, daß jedes Objekt geprüft werden muß (egal auf was). Fazit für mich: es ist egal, ich muß meine Gewohnheiten nicht ändern. AVT |
Lesezeichen |
Themen-Optionen | Thema durchsuchen |
Ansicht | |
|
|