Ruby中带有“ has”前缀的布尔约定

时间:2019-04-08 11:03:59

标签: ruby-on-rails ruby naming-conventions

我有一个叫做Order的类。 订单可以有或没有要支付的关税(例如,用于全球运输)。 我认为是一个名为has_customs的布尔值。 在Ruby / Rails中用“有”前缀命名布尔值是一种好习惯吗?

2 个答案:

答案 0 :(得分:3)

我建议您遵循RuboCop指南风格:https://github.com/rubocop-hq/rubocop

对于布尔命名约定,建议删除所有前缀(例如has_ is_ ...),但以问号?结尾。因此,根据您的情况,它将是customs?

以下是相关文档: https://docs.rubocop.org/en/latest/cops_naming/#namingpredicatename https://github.com/rubocop-hq/ruby-style-guide#bool-methods-qmark

答案 1 :(得分:2)

has_foo?很好。例如,Hash类具有instance_method has_key?。如果该方法返回truefalse,则应始终在该方法名称后添加问号。