Tag: 法则

我如何应用得墨忒耳法?

我有一个公认的丑陋的查询,要找到与当前角色相关的特定角色。 该行产生正确的结果: @person_event_role.event_role.event.event_roles. joins(:mission_role).where(:mission_roles => {:title => ‘Boss’}). first.person_event_roles.first.person (您可以从多个调用中推断出关联) 获取此信息的唯一方法需要大量数据库结构的知识,但要删除耦合…这需要在该链的每个步骤中填充一堆辅助函数以返回所需的信息。 ..

得墨忒耳定律

我最近在stackoverflow上发布了一个问题,我做了一些有用的事情 @period_registration.period.event 但是,有人建议我做以下事情: def event period.event end @period_registration.event 我的一般意义是,这似乎有点严厉。 查看此前发布的内容如何将Demeter法应用于此? 显示如果你为每个协会做这件事,这会变得多么重。 在铁轨中这种做法有多常见? 我的想法是,即使这在技术上是正确的,但如果它不是铁杆文化的一部分,那么这样做似乎会让人们失望。 而且,更重要的是,实际上使代码不易维护,因为其他开发人员认为你在浪费时间使用所有这些辅助方法。 假设我想表达这个,请@ period_registration.event.city,其中city是事件的属性,而不是单独的对象也违反了LoD,或者我需要编写另一种方法,所以我可以这样做:@ period_registration.city