Inclusive Variable Name
ID |
javascript.inclusive_variable |
Severity |
info |
Remediation Complexity |
trivial |
Remediation Risk |
medium |
Remediation Effort |
low |
Resource |
Naming Convention |
Language |
JavaScript |
Tags |
inclusive, naming |
Description
Reports var, let, const declarations and formal function/method parameters whose identifier contains a non-inclusive term such as blacklist/whitelist, master/slave, grandfather, dummy or sanity.
Destructured patterns and rest parameters are out of scope; only plain identifier bindings are checked.
Rationale
Non-inclusive terms carry social and historical weight with no technical value; neutral, intent-carrying replacements (denylist/allowlist, primary/replica, legacy, stub, smoke) make data flow easier to read and the codebase more inviting to contributors.
// Bad
const blacklistUsers = [];
let masterNode = null;
function process(masterIp, slaveIp) { /* ... */ }
// Good
const denylistUsers = [];
let primaryNode = null;
function process(primaryIp, replicaIp) { /* ... */ }
Remediation
Rename the binding using a neutral equivalent. Common substitutions:
-
blacklist→denylist/blocklist -
whitelist→allowlist -
master→primary/leader/main -
slave→replica/follower/secondary -
grandfather→legacy -
dummy→stub/placeholder -
sanity check→smoke test/check