我有一个由数据库表支持的(Java)对象。在数据库中,(新)列中的值“N”表示禁止某些内容,而值“Y”或 null(默认)表示允许某些内容。
在我的对象中,我希望具有相同的效果:默认情况下forbidden = false
,但true
如果需要,可以将其设置为 。我正在使用现有代码,所以我不想修改构造函数。
但是,该属性的使用方式很可能是(我认为更容易理解)是积极的:isAllowed()/setAllowed()
. 因此,我将我的代码设置为:
public boolean isAllowed()
{ return !this.forbidden; }
public void setAllowed(boolean allowed)
{ this.forbidden = ! allowed; }
- 有没有其他人认为
if ([!]isAllowed()) {...}
比 更容易理解if ([!]isForbidden()) {...}
,还是我做出了错误的假设? - 我的代码有意义吗?(是的,我正在尝试正确评论它,这就是我要问的原因。)
- 我的主要问题是:这种调整是否有一个传统的名称?由字段支持的布尔属性,该字段带有公开属性的相反值。
谢谢你。