013
26.04.2018, 23:35 Uhr
Hans
Library Walker (Operator)
|
Hi,
ich kannte DRY bisher noch nicht, aber nach dem zu schliessen, was Tante Wiki dazu sagt, kann ich ao nur zustimmen, dass sich DRY auf das Widerholungen von Codeblöcken bezieht.
Zitat: |
Nur weil ich DRY und Abzweigungen in einem Satz unterbringe, heißt das nicht das es zusammengehört.
|
Nun ja, den Satz
Zitat: |
Desweiteren versuche ich mich an DRY zu halten und so wenig wie möglich Abzweigungen zu bauen.
|
hab ich aber auch genauso verstanden, dass Du glaubst, dass DRY und Abzweigungen zusammen gehören, bzw. das DRY sich auch auf Abzweigungen bezieht.
Zitat: |
Versucht Abzweigungen zu vermeiden (Spagetticode gefahr)!
|
Also da vermute ich aber ganz stark, dass sich das auf goto-Konstrukte bezieht. Also sowas:
C++: |
// Label L1, L2, L3, L4, L5
// some code
L5: if (a<b) goto L1; else goto L2
// ... for (n=0; n<N; n++) { for (m=0; m<M; m++) { // do something if (some_case) { flag=1; break; } // do something more } // for m if (flag) goto L3; // do something } // for n L3: // do something more
if (some_case) goto L4; // ... L1: // ... goto L5; L2: //... // more code
|
Das geht in richtung Spagetticode oder ist wahrscheinlich sogar schon welcher. Solche Abzweigungen sollte man wirklich vermeiden. Aber wenn man if-else-Konstrukte oder auch switch-case verwendet, sollten dabei keine so grossen Verständnisrobleme auftreten. - Sie sind schliesslich erfunden worden um solche goto-orgien zu vermeiden. Nebenbei: Wenn man aus geschachtelten Schleifen aussteigen will, muss man das in C/C++ so machen, wie ich es in diesem Codebeispiel gemacht habe, wenn das Programm hinter der äusseren Schleife weiter laufen soll. Denn mit dem break in der inneren Schleife verlässt man nur diese.
Und Originaldaten sollte man natürlich immer sichern, bevor man damit arbeitet. Und wenn die Daten durch das Programm verändert werden, sollte man die Änderungen natürlich in eine Ergebnisdatei schreiben, die einen anderen Namen hat als jene, die die Originaldaten enthält.
Zitat: |
Besonders bei "if" hab ich da noch keinen Style denn ich beforzuge. Ich stehe da immer vor der Frage "if", ternary, dict(weis ich NOCH nicht wie das überhaupt in C geht).
|
Also ausser der Art und Weise, wie man bei if-Anweisungen Klammern setzt und zugehörige Codeblöcke formatiert, fällt mir nichts ein, was man da als besonderen Style betrachten könnte. Bezüglich Klammern setzten guckst Du hier.
Und was ist dict? - dictionary? - aber was soll das in diesem Zusammenhang sein? -- Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung. Dieser Post wurde am 26.04.2018 um 23:41 Uhr von Hans editiert. |