布尔属性的命名约定
Naming conventions for boolean attributes
我想编写其他人也很容易理解的代码。
像 hide_email
或 email_hidden
这样的布尔属性有约定样式吗?
那就是 email_hidden?
。 Ruby 社区已经习惯了。
请注意最后的?
。
以您给出的这两个名字为例:
hide_email
是执行此类任务的方法的好名字,该方法执行所有过程以在系统范围内隐藏电子邮件。但对于返回电子邮件状态的布尔方法来说,这绝不是一个好名字。
email_hidden?
,末尾有问号 (?),是指示电子邮件是否隐藏的布尔方法的正确名称。
如果您真的想编写好的代码,请始终考虑 Ruby 约定。即使在考虑系统中的流程时,它们也会为您提供帮助。
ruby 代码说所有布尔方法都应该以 ?
结束
在活动记录中你可以看到
User.valid?
或者在 ruby 你可以找到
[].nil?
[].empty?
如果您想了解 Ruby 的约定,请阅读此
http://blogs.visoftinc.com/2010/04/12/ruby-beauty-method-naming-conventions/
我是这样想的:
- 布尔属性应该回答一个简单的 yes/no 问题。
- 询问 "is?" 是询问 yes/no 问题的简单方法。
- 所以布尔属性名应该完成句子
is <attribute_name>
- 然后只需删除
is
因为 Ruby 更喜欢 "is" 风格的方法名称的 ?
后缀(更多信息请参见下文),只剩下 email_hidden
因此,对于您的具体情况,将您的属性命名为:
- 从问题 "email is hidden"? 开始。在代码中可以表示为:
email_is_hidden
。
- 删除
is
,剩下 email_hidden
- Ruby on Rails 定义布尔属性的 "predicate" 版本(以
?
结尾)和 returns true
/false
符合预期。因此,虽然您的属性在数据库中被命名为 email_hidden
,但为了清楚起见,您应该在代码中将其引用为 email_hidden?
,并且 Rails 约定中的 Ruby 也是如此。
我想编写其他人也很容易理解的代码。
像 hide_email
或 email_hidden
这样的布尔属性有约定样式吗?
那就是 email_hidden?
。 Ruby 社区已经习惯了。
请注意最后的?
。
以您给出的这两个名字为例:
hide_email
是执行此类任务的方法的好名字,该方法执行所有过程以在系统范围内隐藏电子邮件。但对于返回电子邮件状态的布尔方法来说,这绝不是一个好名字。email_hidden?
,末尾有问号 (?),是指示电子邮件是否隐藏的布尔方法的正确名称。
如果您真的想编写好的代码,请始终考虑 Ruby 约定。即使在考虑系统中的流程时,它们也会为您提供帮助。
ruby 代码说所有布尔方法都应该以 ?
结束在活动记录中你可以看到
User.valid?
或者在 ruby 你可以找到
[].nil?
[].empty?
如果您想了解 Ruby 的约定,请阅读此
http://blogs.visoftinc.com/2010/04/12/ruby-beauty-method-naming-conventions/
我是这样想的:
- 布尔属性应该回答一个简单的 yes/no 问题。
- 询问 "is?" 是询问 yes/no 问题的简单方法。
- 所以布尔属性名应该完成句子
is <attribute_name>
- 然后只需删除
is
因为 Ruby 更喜欢 "is" 风格的方法名称的?
后缀(更多信息请参见下文),只剩下email_hidden
因此,对于您的具体情况,将您的属性命名为:
- 从问题 "email is hidden"? 开始。在代码中可以表示为:
email_is_hidden
。 - 删除
is
,剩下email_hidden
- Ruby on Rails 定义布尔属性的 "predicate" 版本(以
?
结尾)和 returnstrue
/false
符合预期。因此,虽然您的属性在数据库中被命名为email_hidden
,但为了清楚起见,您应该在代码中将其引用为email_hidden?
,并且 Rails 约定中的 Ruby 也是如此。