no-boolean-literal-for-arguments
要求所有使用任意数量的 boolean
字面量作为参数调用的函数,都应使用自文档常量来代替。
通常会定义可以接受 booleans
作为参数的函数。然而,将 boolean
字面量作为参数传递可能会导致在函数内部,对于参数的作用缺乏上下文理解。
对于上述问题的一个简单修复方法是使用自文档常量,它最终会像“命名布尔值”一样工作,从而更好地理解参数在函数调用上下文中的含义。
无效
function redraw(allViews: boolean, inline: boolean) {
// redraw logic.
}
redraw(true, true);
function executeCommand(recursive: boolean, executionMode: EXECUTION_MODES) {
// executeCommand logic.
}
executeCommand(true, EXECUTION_MODES.ONE);
function enableLogs(enable: boolean) {
// enabledLogs logic.
}
enableLogs(true);
有效
function redraw(allViews: boolean, inline: boolean) {
// redraw logic.
}
const ALL_VIEWS = true, INLINE = true;
redraw(ALL_VIEWS, INLINE);
function executeCommand(recursive: boolean, executionMode: EXECUTION_MODES) {
// executeCommand logic.
}
const RECURSIVE = true;
executeCommand(RECURSIVE, EXECUTION_MODES.ONE);
function enableLogs(enable: boolean) {
// enabledLogs logic.
}
const ENABLE = true;
enableLogs(ENABLE);