这可能是一个幼稚的问题,但是 RSpec 的测试 DSL 是否违反了 Demeter 定律?
这是来自http://rspec.info的 RSpec DSL 示例:
bowling.score.should eq(0)
从 Demeter 的角度来看,这在我看来与这个例子没有什么区别:
user.department.try(:name)
根据 Avdi Grimm ,这违反了得墨忒耳法则。
资料来源:http ://devblog.avdi.org/2011/07/05/demeter-its-not-just-a-good-idea-its-the-law/