下午的阳光把书房切成两半,我趴在桌上改按钮交互的代码,慕振江的笔记本屏幕突然"啪"地转过来,差点撞到我胳膊。"你看这个,"他指着屏幕上跳动的按钮动画,眼睛亮得像调试成功的服务器,"延迟0.3秒太拖沓,改成0.2秒,像生煎包咬开的瞬间,汤汁刚好涌出来,不早不晚。"
我盯着他的代码看了三秒,把自己的屏幕转过去:"0.2秒太快,中老年用户反应不过来,上次用户她妈用手机,连滑动解锁都要等两秒,你这速度跟催命似的。"他立刻皱眉:"那0.25秒!折中!像给代码加缓冲机制,兼顾效率和体验。"
我俩对着屏幕争了十分钟,从动画曲线吵到颜色过渡,最后王妍发来视频通话,背景是她刚拼好的乐高城堡:"你们俩能不能别吵?学姐说,慕学长早上在便利店买了两袋咖啡豆,说'张展改代码爱喝咖啡,得给他备着',结果现在为0.05秒吵得像要拆房子。"
慕振江的耳朵瞬间红了,抓起桌上的薯片往嘴里塞:"谁拆房子?我这是追求极致,像调试服务器时把响应时间压到毫秒级,差一点都不行。"话虽如此,却悄悄把动画延迟调到了0.25秒,还加了个"老年模式"的注释——那是我刚才提的建议,他居然记着。
改到按钮图标的时候,我俩又杠上了。他说要用棱角分明的方形,"像服务器机柜,透着专业";我说圆形更柔和,"像生煎包的弧度,看着亲切"。吵到最后,他突然从抽屉里翻出本《交互设计原理》,拍在桌上:"书上说圆形更适合触发按钮,比你那'拍脑袋'理论权威!"
我凑过去看,发现书里夹着张便签,是他写的批注:"张展说的'用户手感'有道理,下次试试圆角矩形",字迹龙飞凤舞,却把"有道理"三个字圈得特别重。"行啊,"我故意逗他,"还偷偷记笔记呢?"他把书合上,脸红得像刚出锅的生煎包:"谁记了?这是随手画的草稿。"
傍晚时,按钮动画的最终版本终于跑通了。圆形图标配着0.25秒的回弹动画,点下去像按在棉花上,舒服得让人想多戳几下。慕振江盯着屏幕傻笑,手指在触控板上反复点着,像个玩新玩具的小孩。"厉害啊,"我拍他肩膀,"这手感比你调的服务器响应还舒服。"
他灌了口冰红茶,突然说:"其实......你的老年模式思路挺好,我加了个开关,能在设置里调速度,像给生煎包选甜口咸口,各取所需。"我愣了一下,这是他第一次这么自然地夸我,窗外的晚霞刚好照在他脸上,把他的耳朵染成了粉红色。
王妍发来消息,附带一张截图——是学姐拍的慕振江的备忘录,里面列着"张展的交互偏好",从"喜欢圆角图标"到"动画要柔和",记了整整一页,最后还标了句"别跟他吵,偷偷加上就行"。我看着慕振江还在调试代码的侧脸,突然觉得心里像被热生煎烫了一下,暖烘烘的。
晚饭订了披萨,慕振江非要比谁拆包装盒快,把饼边咬得咔嚓响,说"这叫补充碳水,比你那只吃芝士的健康"。吃到一半,他突然把自己盘里的菠萝都挑给我:"给你,知道你爱吃,像代码里的注释,虽然不重要但得有。"
收拾披萨盒的时候,他突然说:"明天去公司,把这个按钮动画给组长看看,保证比张展上次做的滑块验证惊艳。"我笑着说:"明明是咱俩一起改的,怎么成你一个人的功劳了?"他嘴硬道:"我写的代码占70%,你顶多算提供灵感,像产品经理提需求,最后还得靠程序员实现。"
走出厨房,客厅的灯亮得像白天。慕振江蹲在地上给路由器换信道,嘴里还在念叨:"明天测试组肯定要测各种机型,得保证动画在老年机上也流畅,像兼容各种操作系统的代码,不能挑食。"我突然觉得,这场按钮动画的拉锯战,比任何项目上线都让人有成就感。
有人把合拍藏在"争延迟"的较真里,把认可裹在"加开关"的细节中,哪怕嘴上说着"你不如我",心里却早已把对方的想法揉进了自己的代码里,像生煎包的面和馅,缺了谁都不完整。
王妍发来晚安消息:"你们俩现在吵架都像在秀默契,明天组长要是表扬,记得说是'最佳拍档'的功劳。"我看着慕振江还在调试设备的背影,突然觉得,这样吵吵闹闹、有人愿意跟你为0.05秒较劲的日子,真好。
键盘上还留着披萨的油渍,窗外的星星亮得像按钮上的高光。我知道,明天组长表扬的时候,我俩肯定还会争谁的功劳大,但那又怎样?有些合拍,不用明说,代码会替我们证明。