在Rails约定中,首选是什么:default:true或default:false?

Mar*_*tin 1 activerecord ruby-on-rails naming-conventions

我想知道是否有任何常规偏好设置默认布尔值为true或false.也许它超出了ActiveRecord的范围,更像是一般的数据库设计问题.

我有一个带有active?属性的模型,默认情况下所有记录都是活动的.

:active, :boolean, default: true或移植是否更好:inactive, :boolean, default: false

And*_*are 6

根据我的经验(Rails或其他方式),布尔属性在积极表达时最容易被理解.

如果你考虑你的例子,你真的在​​"主动"和"不主动"之间做出选择.选择"不活动"(这又是"非常活跃")会使代码更难阅读,因为我必须在心理上否定"活动"一词来理解代码正在做什么.

这似乎是一件小事,但我真的认为"活跃"是更好的选择.


要了解我的意思,请使用两个不同的迁移作为示例来查看可读性的差异:

# New records will be active by default.
:active, :boolean, default: true

# New records will be not "not active" by default.
:inactive, :boolean, default: false
Run Code Online (Sandbox Code Playgroud)

这两条评论中的哪一条更容易阅读和理解?我发现第一个更清楚.