Ich benutze rescue
für alles, nicht nur für "Rettung" Ausnahmen. Ich meine, ich liebe einfach die Art und Weise, wie es mir die Verifizierung erspart und Daten doppelt überprüft.missbrauche ich "Rettung" für Nullkontrollen?
Zum Beispiel, sagen wir, ich habe ein Modell Item
was kann oder nicht eine User
haben. Dann, als ich den Namen des Eigentümers des Elements erhalten möchten, schreiben I:
item.user.name rescue ""
statt so etwas wie
item.user.nil? ? "" : item.user.name
es das gleiche denken lässt, da nil.name
Auslöser eine Ausnahme, die ich mit ""
retten , aber ich bin mir nicht sicher, ob das eine gute Praxis ist. Es macht, was ich will, und es macht es mit weniger Code, aber ... Ich weiß nicht, all diese Worte hier und da macht mich unsicher.
Ist es eine schlechte Praxis oder ist es gültig Missbrauch der rescue
Schlüsselwort?
Avdi Grimm argumentiert, dass "try" ist ein Code-Geruch http://devblog.avdi.org/2011/06/28/do-or-do-not-there-is-no-try/ und http://devblog.avdi.org/2011/07/05/demeter-its-not-just-a-good-idea-its-the-law/, also ist es nicht nur so, dass es schlecht ist, sondern das was du versuchst zu tun, ist schlecht. –
@AndrewGrimm keine Beziehung? – ybakos
@ybakos Ich weiß es nicht, aber wir sind nicht [Brüder] (http://en.wikipedia.org/wiki/Brothers_Grimm). –