“if”条件中的布尔值签入

2022-09-02 11:09:03

哪一种是更好的Java编码风格?

boolean status = true;
if (!status) {
    //do sth
} else {
    //do sth
}

艺术

if (status == false) {
    //do sth
} else {
    //do sth
}

答案 1

我建议你这样做:

if (status) {
    //positive work
} else {
    // negative work
}

这些测试虽然显然是多余的,但也存在单个拼写错误的风险,这将导致作业。===


答案 2

当然是前者。后者是多余的,只能表明你还没有很好地理解布尔值的概念。

还有一个建议:为变量选择其他名称。根据这个Java风格指南boolean

前缀应用于布尔变量和方法。

isSet, , , ,isVisibleisFinishedisFoundisOpen

这是 Sun 用于 Java 核心包的方法和变量的命名约定。boolean

使用前缀解决了选择错误布尔名称(如 或 )的常见问题。 或者根本不适合,程序员被迫选择更有意义的名字。isstatusflagisStatusisFlag

变量的 Setter 方法必须具有 set 前缀,如下所示:boolean

void setFound(boolean isFound);

在某些情况下,有几种前缀的替代方法更适合。这些是 和 前缀:ishascanshould

boolean hasLicense();
boolean canEvaluate();
boolean shouldAbort = false;