第52章 架构新系统(2 / 2)

“又卡住了?” 李君浩把新冲的美式放在她桌上,瞥见屏幕上密密麻麻的原生 JavaScript 代码,“还在用 var 声明变量?”

林夕若苦着脸转椅,马尾辫扫过设计稿:“救命!我按 bootstrap 模板写的登录页,点击按钮没反应。用 console.log 查了半天,就是找不到问题!” 她把显示器转过来,滚动条划过数百行未封装的函数。

李君浩拖过椅子坐下,随手打开 VS code:“你看,这里的点击事件直接写在 htmL 里,耦合度太高了。试试 ES6 的模块化封装。” 他快速新建一个login.js文件,“把所有交互逻辑抽出来,像这样 ——”

手指在键盘飞舞,屏幕跳出箭头函数:“用const loginbutton = document.getElementbyId('login-btn');获取 dom 元素,再绑定事件。注意,ES6 里let和const声明的变量才有块级作用域,你之前用var,肯定会出变量提升的问题。”

林夕若托着下巴凑近屏幕:“可是这样写,htmL 怎么引用啊?”

“这就用到 ES6 的模块化了。” 李君浩在index.html里添加<script type=\"module\">标签,“在 script 标签里引入login.js,记得加上type='module'。模块之间可以用export和import传值,比如 ——” 他新建一个utils.js,导出加密函数,“你想在登录页用 md5 加密密码,直接import { md5 } from '.\/utils.js';就行。”

“哇!好简洁!” 林夕若眼睛发亮,突然又垮下脸,“可是 ES6 语法好多新东西,箭头函数、promise、async\/await... 我看得头都大了。”

李君浩点开官方文档:“别着急,咱们先从箭头函数学起。比如这个验证手机号的函数 ——” 他把原来的function validatephone(phone) {... }改写成const validatephone = (phone) => \/^1[3-9]\\d{9}$\/.test(phone);,“箭头函数不仅代码量少,而且this指向更明确。”

林夕若突然拍手:“我懂了!就像把一大段话浓缩成关键词!那 promise 呢?上次调用接口,回调函数嵌套得我快晕了。”

“promise 就是用来解决回调地狱的。” 李君浩模拟 ApI 调用,“以前你得这样写 ——” 他敲出多层嵌套的代码,“现在用 promise 链式调用。” 屏幕上出现.then(result => {... }).catch(error => {... }),“成功和失败的处理分开,代码是不是清爽多了?”

窗外突然传来闷雷,林夕若的手机在桌上震动,是宠物医院发来的猫咪体检提醒。她盯着屏幕上撒娇的布偶猫照片,声音突然低落:“君浩,你说... 写代码和画画是不是一样?都要把零散的东西拼成完整的作品?”

李君浩望着她电脑里未完成的登录页设计图,想起林语雪朋友圈里孩子们的画作:“大概吧。不过代码更像精密仪器,每个零件都得严丝合缝。” 他把咖啡推过去,“先把这个登录页用新写法重构一遍,遇到问题随时叫我。”

当第一滴雨点砸在玻璃窗上时,林夕若的屏幕终于跳出绿色的成功提示。她兴奋地晃着李君浩的胳膊:“成功了!用 ES6 写的登录验证,比原来快了三行代码!” 而李君浩看着她重新封装的模块,忽然觉得这些冰冷的代码,也能像画笔一样,勾勒出理想的模样。

忙到很晚,宋哥说今天先忙到这,大家一起回宿舍,李君浩、阮星超、褚砚兵和陆骁四人踩着路灯昏黄的光影,拖着疲惫的身躯往宿舍走去。一公里的路程在加班后的此刻显得格外漫长,直到宿舍楼熟悉的轮廓出现在眼前,带着些许烟火气的归属感才慢慢涌上来。

推开 302 寝室的门,闷热的空气裹挟着洗衣液和汗味扑面而来。阮星超第一个冲进去,把工牌随手一甩,瘫倒在床上:“可算回来了,今天调接口调得我眼睛都快瞎了!” 他扯松领带,转头看向正在铺凉席的李君浩,“浩子,你说咱天天闷头写代码,啥时候才能看看厂里的妹子啊?”

褚砚兵原本正低头整理洗漱用品,听到这话手微微顿了顿,耳朵悄悄红了起来。陆骁从柜子里翻出泡面,嗤笑一声:“你小子,就惦记着这事呢?我今天路过电子装配车间,倒是瞥见几个穿工服的姑娘,不过都忙得很,哪有空搭理咱们。”

阮星超像弹簧似的从床上弹起来,眼睛放光:“真的?快说说,长得咋样?有没有咱研发部林夕若那么漂亮?” 他边说边用手比划着,脸上满是期待。

“比林夕若文静些,” 陆骁撕开泡面包装,往里面倒调料包,热气瞬间升腾起来,“有个扎马尾的,眼睛特别亮,我路过的时候,她正蹲在流水线旁调试设备,认真的样子还挺好看。”

褚砚兵突然开口,声音小得像蚊子哼哼:“是不是... 左眼角有颗泪痣?” 话一出口,整个寝室突然安静下来,三道目光齐刷刷地射向他。

阮星超一下子扑到褚砚兵床边,坏笑着问道:“老褚!老实交代,你是不是早就盯上人家了?” 他挤眉弄眼的模样,逗得李君浩也放下手中的毛巾,饶有兴趣地看过来。

褚砚兵的脸涨得通红,结结巴巴地解释:“我... 我就是上次去送资料的时候见过一次,随便问问。” 可他躲闪的眼神,反而让阮星超更加确信自己的猜测。

“行啊你褚砚兵,平时看着闷声不响的,原来早有目标了!” 阮星超拍着大腿,笑得前仰后合,“快说说,还有什么情报?知道人家叫什么不?有没有男朋友?”

陆骁也凑过来,脸上挂着促狭的笑:“说不定咱老褚早就偷偷打听过了,对吧?”

在两人的追问下,褚砚兵的耳朵红得几乎要滴血,支吾了半天才说:“我... 我就知道她好像是质检部的,姓陈。其他的... 真不知道了。”

李君浩看着褚砚兵窘迫的样子,笑着打圆场:“好了好了,别逗老褚了。不过说真的,咱们封闭式开发这段时间,确实都没怎么接触外面的人。等项目结束,说不定有机会认识认识。”

阮星超撇了撇嘴:“等项目结束,黄花菜都凉了!要不明天中午吃饭的时候,咱去电子装配车间那边碰碰运气?” 他眼睛滴溜溜一转,“就说去学习生产流程,顺便... 咳咳,拓展拓展社交圈。”

“得了吧你,” 陆骁白了他一眼,“宋哥要是知道我们打着学习的旗号去看妹子,非扒了咱们的皮不可。” 他端起泡好的泡面,吸溜了一大口,“不过话说回来,咱研发部全是糙汉子,偶尔看看漂亮妹子,养眼也好。”

寝室里爆发出一阵哄笑, 。