变量名怎么起才清晰好用 使用技巧与常见问题解析

写代码时,变量名怎么起是个挺实在的问题。起得好,别人一看就懂,自己过几个月再看也不迷糊;起得随意,别说队友看不懂,连自己都可能被绕晕。

别用缩写当密码

有些人图省事,把 userCount 写成 uc,把 totalPrice 写成 tp,看起来快,其实埋雷。试想你在查一个支付 bug,看到一行 if (tp > 0),你得花时间回忆 tp 到底是总价、预付款还是折扣后金额。直接写清楚,省下的不是键盘敲击,而是脑力消耗。

用名词表达状态,动词表达动作

变量通常是数据的容器,所以多用名词。比如:userNameisLoadingcartItems。这些名字告诉你“这是什么”。

而像 validateFormsubmitOrder 这类名字更适合函数,因为它们表示“要做什么”。混着用容易让人误解变量用途。

布尔变量加 is、has、can 前缀

判断类型的变量,加个前缀读起来就像一句话。比如:

const isLoading = true;
const hasPermission = false;
const canEdit = user.role === 'admin';

这样写,条件判断时逻辑更顺:

if (isLoading) {
showLoadingSpinner();
}

别怕名字长,怕的是看不懂

有人担心变量名太长影响效率,其实现代编辑器自动补全很成熟。比起 data 这种万金油名字,userRegistrationFormData 虽然长点,但一眼就知道来头。

想想你在超市买东西,货架上贴着“食品”和贴着“无糖低脂燕麦片”哪个更容易找到你要的?变量也一样。

统一风格,别来回变

项目里要么全用驼峰命名法(userName),要么全用下划线(user_name)。别今天写 get_user_info,明天写 getUserInfo,风格乱了,代码看着像拼凑的。

避免用关键词或语言内置名

别把变量叫 classfunctiondate 这些,虽然某些语言允许加后缀绕开,但容易引发歧义或语法问题。比如 date 看起来像原生对象,结果是个字符串,后续处理容易出错。

实际例子对比

下面这段代码,你能快速看出在干啥吗?

let a = getUser();
let b = a.data;
if (b.length > 0) {
render(b);
}

换成有意义的名字:

const userInfo = getUser();
const userOrders = userInfo.data;
if (userOrders.length > 0) {
renderOrderList(userOrders);
}

是不是清楚多了?变量名不是写给电脑看的,是写给人看的。电脑不在乎名字,人在乎。