变量命名混乱?别让代码变成“天书”

前两天帮邻居老张调试他家的智能家居脚本,打开代码一看,差点没认出来哪个是控制客厅灯的,哪个是关窗帘的。满屏的 temp1flagdata2,看得人脑壳疼。他自嘲说:‘反正我自己能看懂’——可问题是,三天后他自己都忘了 status 到底代表门锁状态还是空调模式。

名字起得太随意,改起来就是灾难

很多人写代码图一时痛快,变量随手就叫 arestmp_flag_2。刚开始功能简单,好像没问题。可一旦要加新设备,比如把温湿度传感器接入系统,原来的 getData() 到底拿的是谁的数据?没人说得清。

我见过最离谱的一个脚本里,三个不同的 processInput() 函数嵌套调用,每个里面都有个叫 valid 的布尔值,但含义完全不同。修一个bug,牵出一堆新问题,最后干脆重写一遍才理清楚。

好名字比注释更管用

其实不用多复杂,变量名直接说明用途就行。比如把 flag 改成 isNightModeActive,把 data 换成 livingRoomTemperature,别人一眼就知道这玩意儿是干啥的。

函数也一样。handleClick() 太模糊,改成 toggleBedroomLight() 就清晰多了。你媳妇儿偶尔也得看看这些自动化规则,总不能每次都得打电话问你吧?

重构不是推倒重来

很多人一听“重构”就觉得要大动干戈,其实很多时候只是换个名字的事。现代编辑器都支持一键重命名,选中变量,按一下快捷键,整个项目里的引用全跟着改,安全又省事。

比如原来这段让人迷糊的代码:

var temp = getSensor();
if (temp > 30) {
    flag = true;
    sendAlert(temp);
}

改成这样,意思立马清楚:

var currentLivingRoomTemp = getLivingRoomTemperature();
if (currentLivingRoomTemp > 30) {
    shouldSendHighTempWarning = true;
    sendHeatAlert(currentLivingRoomTemp);
}

改完之后,老张家的娃都能看懂哪段是防高温报警的逻辑了。

从小处着手,习惯自然养成

别想着一次改完整个系统。每次加新功能,或者修某个小问题时,顺手把旁边那些叫不出名字的变量给正名,积少成多。就像收拾房间,每天擦擦桌子,不至于最后堆得下不去脚。

命名清晰的代码,不光是给别人看的,更是给几个月后的自己留条活路。等哪天你想加个“下雨自动关窗”的功能,翻出旧代码却发现根本看不懂,那才真叫欲哭无泪。