临时变量命名应短而具上下文,用语义化缩写如idx、val、acc、found;按作用域控制长度,避免data、temp等模糊词,禁用内置名,借助eslint和编辑器提升可维护性。

临时变量命名的关键是“短但有上下文”,不追求通用,而要让人一眼看出它在当前代码块里干什么。
用动词或动作缩写体现用途
比如遍历数组时,不用 i、j 这类纯计数符号(除非是经典双层循环),而根据语义选更明确的简写:
-
idx:强调是索引(比i更易懂,且避免和数字 1 混淆) -
val或item:表示当前遍历项(val简洁,item更直白) -
acc:累加器(常见于reduce,比temp或res更专业) -
found、matched:布尔型临时结果,比flag清晰得多
按作用域范围控制长度
临时变量只在几行内有效?那就用极简名;如果跨十几行或嵌套较深,适当加前缀或稍完整:
- 单个
for循环内:用idx、el(element)、num都可以 - 函数内多处用到的中间值:比如处理用户数据时,用
cleanedUser比tmp好,哪怕只用两次 - 回调或箭头函数中:可直接用
user、err,不必怕重名——它们的作用域天然隔离
避开常见冲突名和模糊词
有些名字看似方便,实则容易引发误解或覆盖:
- 别用
data、obj、temp、res:太泛,看不出类型和意图 - 慎用
list、array:JS 中数组和类数组对象都可能被赋值,容易误导 - 避免和内置名/全局变量同名:如
name(window.name)、event(事件处理器参数)、key(可能和 Object.keys 冲突) - ES6 解构时注意:
const { id, name } = user;没问题,但别在外部已有name变量时又解构出同名,否则可能意外覆盖
借助编辑器和 ESLint 辅助识别
命名是否合理,光靠自觉不够,工具能提前预警:
- 开启 ESLint 规则
no-shadow:防止内层变量意外遮蔽外层同名变量 - 启用
no-unused-vars:及时清理真正“临时”却没被用上的变量 - 现代编辑器(VS Code)鼠标悬停就能看变量类型和定义位置,命名略长一点反而提升可读性
- 函数参数名也算“临时变量”:比如
handleClick(e)中的e是约定俗成,但如果是onInputChange(value, prevValue),就比(a, b)明确得多
不复杂但容易忽略:临时变量不是“随便起个名就行”的占位符,而是代码逻辑的微小注释。起对了,别人读你三行 for 循环,比读十行注释还清楚。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











