Reduzierung der Anzahl der Rückgabeanweisungen in einer Methode

7

Ich habe einen Java-Code, in dem es mehrere Rückgabeanweisungen in einer einzigen Methode gibt. Aber zum Zweck der Code-Reinigung kann ich nur eine Return-Anweisung pro Methode haben. Was kann getan werden, um dies zu überwinden?

Hier ist eine Methode aus meinem Code: -

%Vor%     
userch 19.05.2014, 13:11
quelle

5 Antworten

10

Es lohnt sich nicht, mehrere Returns zu einer einzelnen Return-Anweisung pro Methode zu ändern. Tatsächlich wird dies die Belastung des Speicherns des Ergebnisses in einer lokalen Variablen unnötig erhöhen und dann schließlich die Rückkehr machen,

%Vor%

Ich hoffe, das hilft, aber es ergibt für mich keinen Sinn

    
Keerthivasan 19.05.2014 13:17
quelle
10

Wie von anderen gesagt, macht eine einzelne Return-Anweisung Ihren Code nicht unbedingt sauberer. In diesem Fall macht das Aufteilen der Methode in kleinere Teile den Code wahrscheinlich lesbarer.

Zum Beispiel dieser Teil:

%Vor%

könnte ersetzt werden, indem zwei Methoden eingeführt und diese zum Schreiben verwendet werden:

%Vor%

Indem Sie dies an mehreren Stellen tun, wird die Struktur des Algorithmus klarer, was Ihnen möglicherweise mehr Einblick gibt, wie dieser Code umstrukturiert werden könnte, um Ihren Kodierungsrichtlinien zu entsprechen.

    
ebo 19.05.2014 13:27
quelle
3

Die Komplexität, die einer Methode hinzugefügt wird, um mehrfache Return-Anweisungen zu entfernen, ist viele Male nicht wert, besonders in einer Methode wie der Ihren.
Es ist nichts falsch daran, sie in diesem Fall zu verwenden.

    
Abhi 19.05.2014 13:16
quelle
3

Wie bei user3580294 gibt es nichts falsches mit mehreren Return-Anweisungen. Allerdings könnten Sie die letzten beiden if-Anweisungen kombinieren, da sie im Wesentlichen dasselbe zurückgeben.

Verwenden Sie die Methode von @Octopus, wenn Sie unbedingt eine return-Anweisung haben müssen

    
Paul Brunache 19.05.2014 13:18
quelle
3

Ich würde am Anfang der Methode eine action forward Variable setzen.

%Vor%

Ersetzen Sie dann jede dieser beiden Zeilen

%Vor%

mit diesen zwei Zeilen:

%Vor%

gibt schließlich die Variable zurück.

%Vor%

Das sollte nicht zu schwierig sein:)

Nebenbei bemerkt ... (eigentlich die ursprüngliche Antwort auf die Frage):

Mehrfache Return-Anweisungen können das Debuggen von Code erschweren.

Ich persönlich hätte nur ein Aktionsobjekt, das Sie am Ende der Methode zurückgeben. Der Vorteil davon ist, dass ich einen Breakpoint direkt auf die return-Anweisung setzen kann und genau sehe, was dieses Objekt ist.

Jede Protokollierung oder andere Querschneiderei, die ich später hinzufügen möchte, müsste nur an einem Punkt durchgeführt werden. Andernfalls müsste ich jeder Zeile, in die Sie zurückkehren, eine Protokollanweisung hinzufügen.

    
Oliver Watkins 19.05.2014 13:16
quelle

Tags und Links