Ich würde gerne wissen, wie der obige Code als schlechte Praxis betrachtet werden kann, da es von endlich zurückkommt. Basierend auf der Byte-Code-Information kehrt schließlich nicht abrupt zurück und es werden schließlich keine Werte gesetzt. Wie kann dies als schlecht angesehen werden?Ansichten auf schließlich in Java
Antwort
Der springende Punkt ist: dass die Aussage schließlich keinen Sinn ergibt. Es fügt Ihrem Code keinen Wert hinzu. Diese Version:
try {
...
return true;
} catch (...) {
log ...
}
return false;
macht das gleiche; ohne dass Sie anfangen zu denken: Was ist das endlich gut für?
Mit anderen Worten: nicht zu hängen auf Funktionalität; und vergessen Sie Lesbarkeit. Sie wollen so schnell wie möglich verstehen, was vor sich geht. Mit schließlich wird definitiv Ihre "Gehirn-CPU" drehen "härter" ... nur weil Sie es lesen müssen, und dann verdauen und zu "ah, eigentlich brauche ich das überhaupt nicht".
Natürlich ist das sehr subtil; Aber am Ende: Eine Datei voller subtiler Dinge, die ein wenig klarer sein könnte ... macht eine Datei noch schwerer lesbar, als sie sein sollte!
Schließlich: Verstehen Sie mich nicht falsch: Es könnte Situationen geben, in denen die Rückkehr aus dem endgültigen Block sinnvoll sein könnte. Aber - nur wenn andere Dinge in diesem Block passieren (was bedeutet, dass es eine echte muss, die schließlich trotzdem blockieren).
- 1. Java versuchen schließlich Variationen
- 2. Ausnahme in Java Umgang schließlich
- 3. java: try beendet schließlich die Ausführung
- 4. MVC verschachtelte Ansichten in Java
- 5. schließlich Ausdruck in Python
- 6. JVM Synchronisierte schließlich Blöcke
- 7. Wird schließlich vollständig ausgeführt, wenn eine Ausnahme in schließlich Block
- 8. Wie throw Ausnahmen behandeln innen schließlich in Java-Block
- 9. Benutzerdefinierte Ansichten in SecureSocial in Java
- 10. Blockiert schließlich nicht?
- 11. Schließlich Klausel Versprechen nie
- 12. Codeabdeckung schließlich blockieren
- 13. Warum blockiert schließlich Fehler?
- 14. Benutzer erfordern schließlich
- 15. Java entfernen wiederholt versuchen, zu fangen, schließlich vorformulierten von DAO
- 16. Mit schließlich statt Fang
- 17. versuchen- außer- sonst- schließlich
- 18. arbeitet schließlich nicht als
- 19. schließlich auf rxjs Sequenz auf dem ersten Fehler ausgeführt wird
- 20. Ansichten in Rubin auf Schienen
- 21. Rails Anruf Einer Methode Schließlich In Aktion
- 22. Zugang Objective-c Ausnahme schließlich in
- 23. Verhalten von verschachtelten schließlich in Ausnahmen
- 24. CouchDB: Filterfunktionen in Ansichten
- 25. C# Lebensdauer einer Variablen in Versuch schließlich
- 26. Hinzufügen Rückkehr in schließlich versteckt die Ausnahme
- 27. Wert zurückkehrend, während schließlich Entriegeln in {}
- 28. Break-Anweisung schließlich in Block Schwalben Ausnahme
- 29. schließlich in Winkel 2 Versprechen blockieren
- 30. Unterdrückte Ausnahme verschwand bei der Verwendung schließlich?
Was ist der Punkt von "endlich" hier? Sie können einfach den Status nach dem Fang zurückgeben. – AntoineB