Boolean 命名布尔人
如果我只想检查某件事是否不可能(即,我不会使用类似Boolean 命名布尔人,boolean,naming-conventions,naming,Boolean,Naming Conventions,Naming,如果我只想检查某件事是否不可能(即,我不会使用类似如果(可能)),我应该将布尔值命名为不可能并使用如果(不可能),还是应该将其命名为可能并使用如果(!可能) 可以肯定的是,如果我还要检查它是否是可能的,我会将布尔可能命名为如果(可能),并与一起使用否则,对吗?您可能应该使用isPossible 像不可能这样的布尔式否定名称是一个非常糟糕的主意。如果(!notable),您可能最终不得不编写类似于的东西,这使得代码很难阅读。不要这样做。在特定的应用程序中,哪个更容易阅读。只需确保你不会以“如果(!
如果(可能)
),我应该将布尔值命名为不可能
并使用如果(不可能)
,还是应该将其命名为可能
并使用如果(!可能)
可以肯定的是,如果我还要检查它是否是
可能的
,我会将布尔可能命名为如果(可能)
,并与一起使用否则
,对吗?您可能应该使用isPossible
像不可能
这样的布尔式否定名称是一个非常糟糕的主意。如果(!notable)
,您可能最终不得不编写类似于的东西,这使得代码很难阅读。不要这样做。在特定的应用程序中,哪个更容易阅读。只需确保你不会以“如果(!不可能)”结束。我倾向于在这里偏于积极,而使用可能。这意味着有人以后不能编写这样做的代码
if (!notPossible)
这是不可读的。我认为最好避免在变量名中使用负数,这样可以避免if(!notable)的双重负数。我建议使用isPossible
。在命名布尔变量时,尽可能使用“is”(或者“has”)似乎很有意义。这是合乎逻辑的,因为你想知道事情是否可能,对吗 我喜欢用一致的短动词前缀来命名布尔词,比如is
或has
,我会发现not
前缀在心理上“解析”起来既奇特又棘手(因此,我猜想,许多代码读者,不管是否意识到这种感觉;-)--因此,我要么给变量命名isPossible
(并使用!isPossible
),或仅将变量命名为isimpossable
(许多形容词都有这样方便的反义词,对于前缀has
,您可以使用前缀looks
来构成整个事物的反义词;-).我同意以否定的方式命名布尔值是个坏主意,但有时可以用肯定的方式重新定义条件。例如,您可以使用pathIsBlocked而不是CannotProcedue,或者使用IsInnotableToDie而不是isImmortal。我通常尝试命名我的标志,以便它们能够尽可能好地读取在使用它们的地方。这意味着尝试命名它们,这样它们就不必在使用它们的地方被否定
我知道有些人坚持所有名字都是正数,这样人们就不会混淆名字中的否定和他们头脑中的否定。对于类接口中的布尔值来说,这可能是一个很好的策略。但是如果它是单个源文件的本地文件,并且我知道所有的调用都会否定它,我更希望看到if(不可能&&…)
比如果(!isPossible&&…
你应该准确地根据它存储的内容来命名它。如果你在存储它是否可能,那么就命名它isPossible
。如果你在存储它是否不可能,命名它isImpossible
在任何一种情况下,如果需要检查这两种情况,您都可以使用else
根据您的描述,检查不可能对您来说似乎更为重要,因此我选择isImpossible
:
if(isImpossible)
{
// ...
}
else
{
//...
}
是的,对于负面名称,你必须写上颠倒的代码,比如if(!(不可能| |不可能))
,而不是更直观的if(可能&&probable)
…或useCurrentTariff
或hassource
如果适用+1。我总是试图让一切都保持“正面”即使我对负数更感兴趣。另一个例子是使用is\u open
而不是is\u closed
…我想主要是为了在这种情况下保持一致性。我更喜欢将布尔值保持为正数形式(允许、可能、授权),除非有很好的理由颠倒逻辑。这有助于我保持一致的约定,我发现!可能更容易阅读,但在许多情况下(!不可能?)。尽管如此,我通常也会尽量避免使用布尔标志。如果你想知道某件事是否不可能,那该怎么办?你可以在isPossible
上加上!
,但你不能把not
从notPossible
中去掉。或者你可以更进一步写:如果(!notobsible)
或者如果我们使用Alex的行话如果(!lacksImpossibility)