布尔属性的命名约定

Fel*_*ger 12 ruby attributes ruby-on-rails naming-conventions

我想编写其他人也很容易理解的代码.

布尔属性是喜欢hide_email还是email_hidden具有约定风格?

pdo*_*obb 22

我想起来像这样:

  • 布尔属性应该回答一个简单的是/否问题.
  • 问"是吗?" 问一个是/否问题的简单方法.
  • 所以布尔属性名称应该完成句子 is <attribute_name>
  • 然后只需删除is因为Ruby更喜欢?"is"式方法名称的后缀(详见下文),只留下email_hidden

因此,对于您的具体情况,请将您的属性命名为:

  • 从问题"电子邮件被隐藏"开始?这可以在代码中表示为:email_is_hidden.
  • 删除is你,你就离开了email_hidden
  • Ruby on Rails定义了?布尔属性的"谓词"版本(以a结尾),并按预期返回true/ false.因此,虽然您的属性email_hidden在数据库中被命名,但email_hidden?为了清晰起见,您应该像在代码中一样引用它,以及Ruby on Rails约定.