Best Practice für Refactoring-Methoden [geschlossen]

7

Ich frage mich, was die beste Vorgehensweise für das Refactoring von Code wäre, der so aussieht:

Wo sollten die Ausstiegskriterien festgelegt werden und was ist die beste Praxis

? %Vor%

Danke

    
user829174 07.12.2011, 14:43
quelle

6 Antworten

11

Die beste Struktur für diesen Code, ohne zu ändern, was er tut, ist dies:

%Vor%     
mquander 07.12.2011, 14:45
quelle
4

Ich behaupte, dass die beste Praxis sein sollte:

%Vor%

Und Ausnahmen auslösen, wenn Sie das Versprechen, das DoMethod() impliziert, nicht halten können, indem Sie einen Verb-Namen verwenden.

Wenn Sie absolut keine Ausnahmen auslösen möchten, verwenden Sie die von mquander vorgeschlagene Methode und benennen Sie Ihre Methoden um TryDoMethod1 , usw.

Wenn Sie sicherstellen müssen, dass alle ausgeführt werden (was Sie in Ihrem ursprünglichen Code nicht tun), können Sie eine der folgenden Möglichkeiten ausprobieren:

  • Erstellen Sie eine Liste von Methoden zum Aufrufen (als Delegaten) und durchlaufen Sie diese Methoden mit einem in die Schleife integrierten try / catch , und Verwenden Sie AggregateException , um alle Unterausnahmen für eine letzte throw zu kombinieren.
  • Machen Sie etwas Ähnliches, indem Sie die Task Parallel Library verwenden.
Merlyn Morgan-Graham 07.12.2011 14:48
quelle
3

Lesen Sie diesen klassischen Artikel über "Arrow Code" Ссылка , um zu erfahren, wie "flattern" Sie, indem Sie die Fehler so schnell wie möglich zurückgeben.

Der Code Complete-Bereich auf "Arrow Code" finden Sie unter: Ссылка

@ mquanders Antwort ist ideal.

Der Punkt ist, sich aus der Angewohnheit eines einzelnen Ausgangspunktes zu befreien, dies wäre im Code erforderlich, wo Sie Ihr Gedächtnis verwalten müssten, weil Sie einen einzigen Platz benötigen würden, um die Zuweisung aufzuheben (ähnlich wie Sie) könnte finally block) verwenden. Da .NET Ihren Speicher verwaltet, können Sie die Methode so schnell wie möglich verlassen, ohne sich Gedanken über Speicherlecks machen zu müssen und Ihre Methode lesbarer zu machen.

    
StuperUser 07.12.2011 14:45
quelle
1

Was wäre falsch mit:

%Vor%

... im aufrufenden Code und beseitigen Sie die Foo-Methode insgesamt

    
SpaceBison 07.12.2011 14:53
quelle
0

Ich würde sagen, das Ziel # 1 sollte ein Code sein, der leicht verständlich ist. Es ist schwer zu sagen, welche Struktur für den Code am besten ist, ohne die zugrundeliegende Funktionalität zu kennen und die Dinge entsprechend zu benennen.

Es gibt keine allgemeingültige Code-Struktur IMHO, es hängt alles von der Geschichte ab, die Sie mit Ihrem Code erzählen wollen.

    
Dylan Smith 07.12.2011 14:53
quelle
0

Sie können Transaktion Muster hier ausprobieren.

    
oleksii 07.12.2011 15:58
quelle

Tags und Links