Rubyでこれを行うためのより良い/よりクリーンな方法はありますか?
def my_method(x, y)
return error if (error = validate(x, y))
# do something else
end
私は#validate
別の場所で電話をかけているので、物事を DRY に保つために、エラー メッセージを返すようにしています。
Rubyでこれを行うためのより良い/よりクリーンな方法はありますか?
def my_method(x, y)
return error if (error = validate(x, y))
# do something else
end
私は#validate
別の場所で電話をかけているので、物事を DRY に保つために、エラー メッセージを返すようにしています。
このより明示的で読みやすいバージョンの何が問題になっているのでしょうか?
def my_method(x, y)
error = validate(x, y)
if error
error
else
# do something else
end
end
IMO 可能な限り短いコードを書くメリットはありません。常に最も読みやすく理解しやすいコードを作成することを目指す必要があります。
同じことを別の方法で書くと、次のようになります。
def my_method(x, y)
unless validate(x, y)
# do something else
end
end
これは、何かを返すかどうかを検証するための回答を返します。