Halten Sie diese Technik "SCHLECHT"?

Manchmal müssen Sie überspringen die Ausführung eines Teils einer Methode unter bestimmten, nicht-kritische Fehlerbedingungen. Sie können Ausnahmen, aber Ausnahmen sind generell nicht empfohlen bei normaler Anwendung der Logik, der nur für abnormale Situationen.

Also ich weiß einen trick, wie diese:

do
{
   bool isGood = true;

   .... some code

   if(!isGood)
       break;

   .... some more code

   if(!isGood)
       break;

   .... some more code

 } while(false);

 ..... some other code, which has to be executed.

Verwende ich ein "fake" - Schleife wird einmal ausgeführt, und ich kann Sie Abbrechen, indem Sie Pause oder weiter.

Einige meiner Kollegen nicht mochte, und Sie nannten es "bad practice". Ich persönlich finde diesen Ansatz ziemlich glatt. Aber was denken Sie?

  • Wollen Sie zum Bearbeiten des Titels, so ist es zumindest Hinweise auf das Thema? Ich will nicht, es zu ändern, um die Worte in den Mund, aber es sollte zeigen, etwas nützliches in der Frage Listen.
  • Warum Prüfen "isGood" mehrmals ? ist es wahrscheinlich sein veränderte meinen anderen thread zum Beispiel ?
  • Denn er werde es ändern, manchmal in den code.
  • Ich persönlich bin eher abgeschreckt durch die wiederholte Verwendung von "isGood" als durch die Verwendung der "Pause". Wenn es 2 Punkte, an denen Dinge unGood, Chancen sind, gibt es 2 verschiedene Gründe. Wenn die Nötigung jeweils in eine boolean hinzufügen würde, beliebigen code auf alle, dann machen nur "Pause" davon abhängig was auch immer.
  • Btw, wenn die Kollegen ehrlich behaupten, dass Sie nicht Lesen können, Ihren code, dann haben Sie ein problem, auch in den (seltenen) Fall, dass du vollkommen Recht und Sie Unrecht. Code muss lesbar sein, um mindestens 95% der Programmierer, nicht nur die 50%, die nicht Angst, kontrolliert nach vorne springt.
  • Tun hüten Sie sich jedoch vor Menschen, die sagen: "das ist schlechte Praxis", wenn die Wahrheit ist, "ich hätte es getan anders".
  • Ich habe gesehen und verwendet, wenn es eine komplexe Ressource Erwerb des Betriebes, in dem, wenn einer der Schritte, die rückgängig gemacht werden, wenn etwas fehlgeschlagen ist.
  • Try/catch-Lösung scheint nicht Recht, sondern auch eine elegante alternative, springen Probleme hat, weil der Destruktor nicht aufgerufen werden. Am Liebsten würde ich Faktor aus dem code in ein eigenes Verfahren und verwenden statt.
  • es scheint mir, dass die variable isgood ist unnötig - einfach nur "Pause" direkt

InformationsquelleAutor Ma99uS | 2008-10-28
Schreibe einen Kommentar