【发布时间】:2011-07-01 00:08:38
【问题描述】:
哪些工具可以确定哪些模块的方法正在调用 Ruby 中其他模块的方法?
背景:我正在将 808 行模块分解成更小的模块,并创建了 12 个子模块。但是,其中一个模块中的某些方法正在调用另一个子模块中的方法。这可能会也可能不会,这取决于被调用方法的模块是否是通用功能。
module DisplayStatistics1
def display_statistics_1_foo
calculate_statistics_foo # call a method that's in CalculateStatistics - this is ok
display_statistics_2_bar # call a method that's in DisplayStatistics2 - this is bad
end
# other methods omitted
end
# modules DisplayStatistics2 and CalculateStatistics omitted
class ExampleClass
include DisplayStatistics1
include DisplayStatistics2
include CalculateStatistics
end
理想情况下,分析工具会显示DisplayStatistics1 依赖于DisplayStatistics2 以及CalculateStatistics。
更新:也许我不应该这样做 - 也许我应该将它们分成类。那样的话,我肯定知道什么取决于什么!
【问题讨论】:
标签: ruby refactoring code-analysis