gpt4 book ai didi

ruby 方法 - 如何减少方法中的参数数量?

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

我知道参数越少越好,超过 2 个(或 3 个或 4 个,具体取决于文献)是一种代码味道。

如果我有带有参数的代码,例如:

class DoubleSeries
def self.generate_sequences(seq1_start, seq2_start, seq1_step, seq2_step, iterations)
seq1,seq2=seq1_start,seq2_start
result=[]
(1..iterations).each do
result << seq1 << seq2
seq1+=seq1_step
seq2+=seq2_step
end
result
end
end

当参数都为一个函数服务时,如何将参数数量从 5 个减少?

最佳答案

我想如果你想全力以赴严格遵守 Sandi Metz rules那么 OOP 方式就是要走的路。

class Sequence
attr_reader :start, :step

initialize(start, step)
@start = start
@step = step
end
end

sequence_1 = Sequence.new(seq1_start, seq1_step)
sequence_2 = Sequence.new(seq2_start, seq2_step)

class DoubleSeries
def self.generate_sequences(sequence_1, sequence_2, iterations)
item_1, item_2 = sequence_1.start, sequence_2.start
result=[]
iterations.times do
result << item_1 << item_2
item_1 += sequence_1.step
item_2 += sequence_2.step
end
result
end
end

[我的代码(迈克尔):

enter image description here

关于ruby 方法 - 如何减少方法中的参数数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19372867/

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