gpt4 book ai didi

ruby - 将您的验证码分组到一个 Ruby 方法中是个坏主意吗?

转载 作者:数据小太阳 更新时间:2023-10-29 08:55:18 25 4
gpt4 key购买 nike

假设我有这样一个类:

class A
attr_accessor :a
attr_accessor :b

def check
raise "a must meet some condition" if !condition(@a)
raise "b must meet some condition" if !condition(@b)
end

def do_some_work
check()
# more work here
end

def do_some_more_work
check()
# other work here
end
end

将访问器的先决条件放在另一个方法而不是当前方法中是不好的做法吗?

最佳答案

最好检查分配 何时发生。 快速失败。

class A
attr_reader :a, :b

def a=(new_a)
raise "a must meet some condition" if !condition(@a)
@a = new_a
end

def b=(new_b)
raise "b must meet some condition" if !condition(@b)
@b = new_b
end

def do_some_work
# Do the work, knowing @a and @b are valid
end

# ...
end

关于ruby - 将您的验证码分组到一个 Ruby 方法中是个坏主意吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2965036/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com