Ruby on rails 服务对象的rails名称约定

Ruby on rails 服务对象的rails名称约定,ruby-on-rails,ruby,naming-conventions,Ruby On Rails,Ruby,Naming Conventions,当我给我的班级命名时,我通常使用名词。 我给我的服务对象取了一个名词,这个名词来自一个动词,比如“工人”或“购买者”。 在代码审查期间,有人说,对于诸如“工作”“购买””之类的服务对象,通常使用动词作为名称 我应该朝哪个方向走 下面是对动词的另一个异议: 从清晰和自然的角度来看,这基本上是没有意义的 使用动词的语言。假设你有一个模型产品,你想要一个 将根据某些复杂条件处理定价的服务对象 (地理位置、颜色、运输、月相等)。这将是一个好机会 服务对象ProductPricingService的候选项

当我给我的班级命名时,我通常使用名词。 我给我的服务对象取了一个名词,这个名词来自一个动词,比如“工人”或“购买者”。 在代码审查期间,有人说,对于诸如“工作”购买””之类的服务对象,通常使用动词作为名称

我应该朝哪个方向走

下面是对动词的另一个异议:

从清晰和自然的角度来看,这基本上是没有意义的 使用动词的语言。假设你有一个模型产品,你想要一个 将根据某些复杂条件处理定价的服务对象 (地理位置、颜色、运输、月相等)。这将是一个好机会 服务对象ProductPricingService的候选项。你不会的 叫它价格或定价。首先,它是模棱两可的。定价 什么?你们销售的产品?你从供应商那里得到的价格?定价 今天有汽油吗?如果你认为这个服务对象可能是 被许多型号使用,那么你就违背了服务的目的 对象我当然夸张了。但关键在于创造 清晰且可维护的代码。因此,虽然您可以通过 命名它的价格,这是更清楚的另一个人(和你在5) 月)如果您将其命名为ProductPricingService

这里有一个反对发展动词名词的异议

你可以用InvoiceFinder之类的东西代替FindInvoice,但我 发现把动作放在最后会导致尴尬 类,因此将动词放在开头可以使它们更干净


我认为你原来的一个,使用deverbal名词更有意义。你应该使用动词作为方法名。

这是我从另一个论坛收到的另一个答案:你可以使用InvoiceFinder之类的东西,而不是FindInvoice,但我发现将动作放在末尾会导致命名类不方便,所以将动词放在开头会使它们更干净。开头是Object(动词之后)当您开始拥有大量的服务对象时,感觉它使扫描变得更容易