我想编写其他人也很容易理解的代码。
像hide_email
或email_hidden
这样的布尔属性是否具有约定风格?
答案 0 :(得分:21)
我想起来就像这样:
is <attribute_name>
is
,因为Ruby更喜欢&#34;&#34;样式方法名称的?
后缀(请参阅下面的详细信息),只留下{{1} } 因此,针对您的具体情况,请将您的属性命名为:
email_hidden
。 email_is_hidden
,然后选择is
email_hidden
结尾)并按预期返回?
/ true
。因此,虽然您的属性在数据库中被命名为false
,但为了清楚起见,您应该在代码中将其引用为email_hidden
,并且Ruby on Rails约定也是如此。答案 1 :(得分:2)
那将是email_hidden?
。这是Ruby社区习惯的。
请注意最后的?
。
答案 2 :(得分:2)
以你给出的这两个名字为例:
hide_email
对于执行此类任务的方法来说是一个很好的名称,该方法执行所有过程以隐藏系统范围内的电子邮件。但对于返回电子邮件状态的布尔方法来说,它永远不会是一个好名字。email_hidden?
,末尾带有问号(?),是布尔方法的正确名称,表示电子邮件是否隐藏。如果您真的想编写好的代码,请始终考虑Ruby约定。即使在考虑系统中的过程时,它们也会帮助您。
答案 3 :(得分:2)
ruby代码涂抹说所有布尔方法应该用?
完成在活动记录中,您可以看到
User.valid?
或者你可以找到红宝石
[].nil?
[].empty?
如果您想了解Ruby的惯例,请阅读
http://blogs.visoftinc.com/2010/04/12/ruby-beauty-method-naming-conventions/