这两个例子中的哪一个是更好的代码设计?

时间:2011-05-29 18:04:20

标签: java swing coding-style

示例#1

public void mouseClicked(MouseEvent e) {
    if (isShowParameters)
       isShowParameters = false;
    else
       isShowParameters = true;

    ParametersWindows.getInstance().setVisible(isShowParameters);
}  

示例#2

public void mouseClicked(MouseEvent e) {
    isShowParameters = !isShowParameters;
    ParametersWindows.getInstance().setVisible(isShowParameters);
}

4 个答案:

答案 0 :(得分:7)

第二个更清晰合理。

答案 1 :(得分:5)

我更喜欢isShowParameters = !isShowParameters;,因为它更短。更短的程序更容易理解和维护。但是你的大块无与伦比的右括号是什么?这似乎是一种糟糕的编码风格。

答案 2 :(得分:4)

ParametersWindows.getInstance().setVisible(!isShowParameters);

<强>更新

仅在您不需要更新字段本身时才有效。

答案 3 :(得分:4)

还有第三种选择:

isShowParameters ^= true;

或更紧凑:

ParametersWindows.getInstance().setVisible(isShowParameters ^= true);