创建 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,例如:
- getStatus(), getRatio()
- setUIArrayValue(键, 值), setIDText(id, 文本)
其中一些包含一个语句,但在整个代码中经常重复使用。
例如,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 方法同时允许:
- 避免重复自己。
- 通过在传达显式命名的函数中抽象实现细节,使您的代码更具可读性和直接理解性。
使用这种函数是一件好事,因为它提供了更好的代码质量。
示例:
我正在为一个显示车轮校准比的机器人项目开发用户界面。默认比率是 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,例如:
- getStatus(), getRatio()
- setUIArrayValue(键, 值), setIDText(id, 文本)
其中一些包含一个语句,但在整个代码中经常重复使用。
例如,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 方法同时允许:
- 避免重复自己。
- 通过在传达显式命名的函数中抽象实现细节,使您的代码更具可读性和直接理解性。
使用这种函数是一件好事,因为它提供了更好的代码质量。