刚学写代码那会儿,我给自己起过一个变量叫 aa,后来加到 aa1、aa2,最后自己都忘了哪个是读用户数据的,哪个是存缓存的。结果调试两小时,改错一行注释。
命名不是填空,是写人话
代码是写给人看的,顺便让机器跑一下。你写的函数名、变量名,得让同事(或者三个月后的你自己)一眼看懂它干啥。比如:
// 别这么写
let d = new Date();
let u = getUserInfo();
let r = u.name + ' - ' + d.getFullYear();换成这样就清爽多了:
// 推荐写法
const currentDate = new Date();
const userInfo = getUserInfo();
const displayName = `${userInfo.name} - ${currentDate.getFullYear()}`;常见命名风格,选一种坚持用
小驼峰(camelCase)最常用:首字母小写,后面单词首字母大写,比如 userName、isLoginValid、calculateTotalPrice。
大驼峰(PascalCase)多用于类名或组件名:UserProfile、OrderModal、ApiService。
下划线(snake_case)在 Python 或数据库字段里常见:user_name、created_at。但 JavaScript 和 Java 里一般不用,混着写容易出错。
几个接地气的避坑提醒
❌ 别用缩写猜谜:比如 usr、tmpVal、data1——除非团队明确约定,否则没人知道你指啥。
✅ 用完整词,哪怕多敲几个字母: userRole 比 urole 强十倍;isEmailVerified 比 emailOK 更经得起时间考验。
❌ 别用拼音凑数:zhuceBtn、yonghuList 看着省事,但遇到英文文档、第三方库、Git 提交记录,全是乱码感。
✅ 中文项目也建议统一用英文命名:按钮就叫 registerButton,列表就叫 userList。开发环境不挑语言,但命名风格要挑一致性。
特别注意布尔值和函数名
以 is、has、can、should 开头的变量,基本就是真/假判断:
const isLoggedIn = true;
const hasUnsavedChanges = false;
const canEditPost = user.role === 'admin';函数名最好带动词,说清“它要做什么”:
// 好
function validateEmail(email) { /* ... */ }
function fetchUserProfile(userId) { /* ... */ }
function toggleSidebar() { /* ... */ }
// 不太好
function emailCheck(email) { /* ... */ }
function getUser(id) { /* ... */ } // get啥?没说清
function sidebar() { /* ... */ } // 听起来像一个对象,不是动作命名这事,真没那么多玄学。你愿意花10秒想个清楚的名字,以后就能省下半小时翻代码找逻辑。就像你不会把家里的电闸标成“那个啪嗒响的”,代码里的每个名字,也值得被认真叫出它的本名。