Ruby 包装函数的命名和代码结构

Ruby 包装函数的命名和代码结构,ruby,Ruby,该项目将对不同文件的集合(在ruby中)执行相同的分析。使用几个参数调用main.rb(指向包含文件的文件夹的路径等)。因此,main.rb包含解析器并收集给定文件夹中的所有文件,并调用函数find_spikes,以收集文件。然后为所有分析的文件生成一个报告 所以, main.rb: run_steps.rb包含实际函数的包装 def find_spikes(file_names) files_alarm = {} file_names.each do |file|

该项目将对不同文件的集合(在ruby中)执行相同的分析。使用几个参数调用main.rb(指向包含文件的文件夹的路径等)。因此,main.rb包含解析器并收集给定文件夹中的所有文件,并调用函数
find_spikes
,以收集文件。然后为所有分析的文件生成一个报告

所以, main.rb:

run_steps.rb包含实际函数的包装

def find_spikes(file_names)
    files_alarm = {}
    file_names.each do |file|
      input = File.read(file)
      alarm = find_spike(input, files_alarm)
      files_alarm[file] = alarm unless alarm.nil?
    end
    return files_alarm
end
真正的分析是在
find_spike
函数中执行的,而
find_spikes
对每个文件迭代应用find_spike

关于短期项目,我有几个问题:

  • main.rb中的代码组织是否有良好的实践?主文件实际上应该包括什么

  • find_spike和find_spike的最佳名称是什么,以便能够区分包装器函数和实际分析函数?因为对于测试,我必须传递的不是函数的文件路径,而是文件的上下文

  • main.rb中的代码组织是否有良好的实践?主文件实际上应该包括什么

    您可以使用单独的“类”而不是脚本来分离输入逻辑和实际的域逻辑。所以这个类可以单独测试

    find_spike和find_spike的最佳名称是什么,以便能够区分包装器函数和实际分析函数

    从文件路径查找峰值
    从文件内容查找峰值

    def find_spikes(file_names)
        files_alarm = {}
        file_names.each do |file|
          input = File.read(file)
          alarm = find_spike(input, files_alarm)
          files_alarm[file] = alarm unless alarm.nil?
        end
        return files_alarm
    end