写代码时,变量名怎么起是个挺实在的问题。起得好,别人一看就懂,自己过几个月再看也不迷糊;起得随意,别说队友看不懂,连自己都可能被绕晕。
别用缩写当密码
有些人图省事,把 userCount 写成 uc,把 totalPrice 写成 tp,看起来快,其实埋雷。试想你在查一个支付 bug,看到一行 if (tp > 0),你得花时间回忆 tp 到底是总价、预付款还是折扣后金额。直接写清楚,省下的不是键盘敲击,而是脑力消耗。
用名词表达状态,动词表达动作
变量通常是数据的容器,所以多用名词。比如:userName、isLoading、cartItems。这些名字告诉你“这是什么”。
而像 validateForm、submitOrder 这类名字更适合函数,因为它们表示“要做什么”。混着用容易让人误解变量用途。
布尔变量加 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,风格乱了,代码看着像拼凑的。
避免用关键词或语言内置名
别把变量叫 class、function、date 这些,虽然某些语言允许加后缀绕开,但容易引发歧义或语法问题。比如 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);
}
是不是清楚多了?变量名不是写给电脑看的,是写给人看的。电脑不在乎名字,人在乎。