创建 setter 和 getter 来简化 JavaScript 中的函数是否是不好的做法?

Is it bad practice to create setter and getters to simplify functions in JavaScript?

示例:

我正在为一个显示车轮校准比的机器人项目开发用户界面。默认比率是 0.89,我有一个按钮可以将比率增加 0.01。

function incrementRatio() {
    if (getStatus() != "Connected" || getRatio() >= 1.00) {
        stopEvent();
    } else {
        var newRatio = getRatio() + 0.01;

        setUIArrayValue("currentRatio", newRatio);
        setIDText('ratiovalue', getRatio().toFixed(2));
    }
}

上面的函数使用了 getter 和 setter,例如:

其中一些包含一个语句,但在整个代码中经常重复使用。

例如,setIDText():

function setIDText(id, text) {
    document.getElementById(id).innerHTML = text;
}

包含 1 条语句,但提供了一种更短且更易读的变异文本方式。如果没有这些 setter 和 getter,诸如 incrementRatio() 之类的函数看起来会相当混乱。

不,不是。它使代码更具可读性,一个好的解析器会将其内联,因此性能差异可能接近于零。

你所说的 getter 和 setter 并不是真的,因为它们执行真正的逻辑,例如 setIDText() 函数:

function setIDText(id, text) {
    document.getElementById(id).innerHTML = text;
}

这些 helper/logic 方法同时允许:

  • 避免重复自己。
  • 通过在传达显式命名的函数中抽象实现细节,使您的代码更具可读性和直接理解性。

使用这种函数是一件好事,因为它提供了更好的代码质量。