我目前正在编写一个非常简单的测试工具开始。这个想法是您可以拥有包含我的“可测试”模块的类。例如:
class Veilus
include Testable
end
site = Veilus.new
可测试模块具有以下内容:
module Testable
module_function
def included(caller)
caller.extend Testable::Interface::Page::Attribute
caller.__send__ :include, Testable::Interface::Page
end
end
当 Reek 检出这个文件时,它返回:
FeatureEnvy: Testable#included refers to 'caller'
more than self (maybe move it to another class?)
但这不是包含方法的要点之一吗?
我意识到我可以关闭 Reek 检查的这一方面,但我很好奇我将如何在这里遵循它的建议?在这种情况下,这门课不是我一早就知道的东西。其他人编写的课程将包括我的模块。
同样,我知道我可以关闭检查,但似乎我可能希望在其他情况下进行检查。因此,我开始怀疑我是否在使用“mixin”方法错误,这就是 Reek 所指出的。