【问题标题】:Is there an elegant way to rename Java boolean values to improve the readability of my code?有没有一种优雅的方法来重命名 Java 布尔值以提高我的代码的可读性?
【发布时间】:2020-09-02 17:41:39
【问题描述】:

假设我有以下 (Java 8) 代码:

private void toggleNewUser() {
    if (ToggleButton.isOn()) {
        fadeLabel(true);
        transitionButtons(true);
    }
    else {
        fadeLabels(false);
        transitionButtons(true);
    }
}

我的 fadeLabeltransitionButtons 函数在淡入和淡出之间切换,当布尔值分别为 truefalse 时它们会这样做。但我想用“in”和“out”替换truefalse,以提高我的代码的可读性。有什么优雅的方法吗?

我能想出的唯一方法是有点笨拙而且不是很优雅:

private void toggleNewUser() {

    boolean in = ToggleButton.isOn();
    boolean out = ToggleButton.isOn();

    if (ToggleButton.isOn()) {
        fadeLabel(in);
        transitionButtons(in);
    }
    else {
        fadeLabels(out);
        transitionButtons(out);
    }
}

【问题讨论】:

  • 你可以使用枚举
  • 或者只是一个static final boolean。但我不认为以这种方式重命名truefalse 会提高可读性。 (使用enum 实际上会更好。)

标签: java boolean readability


【解决方案1】:

作为一种简单的方法,也许为 TRUE 和 FALSE 定义常量可以吗?在您的班级中定义它们,例如:

public static final boolean IN = true;
public static final boolean OUT = false;

否则,您对 Java 的使用将非常有限。你也可以试试枚举:

public enum Anim {
    IN(true),
    OUT(false);
     
    public final boolean state;
     
    private Element(boolean state) {
        this.state = state;
    }
}

【讨论】:

  • 您的第一个建议已经比我提出的要好,而且您还教会了我一些关于枚举的新知识。如果没有更好的结果,我会接受你的回答。谢谢!
  • 请原谅缺少分号;堆栈上的人很快就编辑了它。我正在使用 Kotlin 并忘记了它们 :)
猜你喜欢
  • 2023-01-20
  • 2021-08-14
  • 1970-01-01
  • 2014-06-13
  • 2011-03-09
  • 2010-12-06
  • 2011-09-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多