どのツールがRubyの他のモジュールからメソッドを呼び出すメソッドを持つかを判断するツールはありますか?どのモジュールがRubyのどのモジュールに依存しているかをどのように検出できますか?
背景:私は途中で808ラインモジュールをより小さなモジュールに分割し、12サブモジュールを作成しました。しかし、モジュールの1つのメソッドの中には、別のサブモジュールのメソッドを呼び出すものがあります。これは、呼び出されたメソッドのモジュールが共通の機能を意図しているかどうかによって、正常である場合とそうでない場合があります。
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
に依存していることを示します。
更新:おそらく私はこのようにしてはいけませんでした。多分、それらをクラスに分けたほうがいいでしょう。そうすれば、私は何が何に依存しているかを知っていただろう!