“好,停。”林雾伸出手,做了个暂停的手势。
我闭上嘴。
她盯着我看了两秒,表情复杂:“你说话的时候,能不能先考虑一下别人的感受?”
“我只是在陈述事实。”
“陈述事实可以用更温柔的方式。”她把数位板抽回去,“比如,你可以先说‘这个想法很有意思,但我们可能需要考虑几个技术问题’,然后再列举那些问题。而不是一上来就噼里啪啦砸一堆技术名词,好像在质疑我的智商。”
我沉默了几秒。
她说得对。
但我不太习惯这种沟通方式。在代码的世界里,错了就是错了,编译器会直接报错,不会考虑你的感受。你可以反驳,可以修改,但不需要照顾谁的情绪。
“好,”我说,“我尽量。”
林雾看了我一眼,似乎想确认我是不是真心,然后叹了口气:“算了,你也不是故意的。我再改改。”
她重新低下头,数位笔在屏幕上移动。
我看着她的笔尖划过的地方,那些线条流畅而优美,和她的人一样柔软。而我刚才那番话,大概像一块硬邦邦的石头,砸在了她柔软的想法上。
我们真的能完成一个吗?
我不知道。
晚上八点,设计方案终于定稿。
林雾放弃了吹气的交互,改成了简单的点击按钮。但她坚持保留了漂流瓶的视觉风格,并且加入了一个她称之为“城市光影”的功能——据天气和时间,漂流瓶的颜色会自动变化:晴天是透明的金色,阴天是雾霾蓝,下雨天是湿润的灰绿色。
这个功能技术上不难实现,调用天气API就行。
我分配了数据库结构,开始写定位模块的代码。林雾坐在对面做UI设计,时不时把手机递过来给我看一眼配色方案。
“这个蓝会不会太深了?”她问。
“我看不出来,”我老实回答,“我的手机一直都是灰度模式。”
林雾愣住了:“为什么?”
“为了保护色感。”我说,“程序员不需要分辨颜色,代码里只有真和假,没有中间色。”
她噗嗤一声笑了出来:“你这人说话怎么这么奇怪,像一台行走的计算机。”
“这叫逻辑清晰。”
“这叫——”她想了想,找了个词,“可爱。”
可爱?
我抬起头,有点意外地看着她。
她正低头调试色值,嘴角还带着没散去的笑意,灯光落在她的睫毛上,颤颤巍巍的。
我收回目光,继续写代码。
凌晨一点,咖啡厅里的人少了一半。主办方提供了折叠床和毛毯,但大多数人选择趴在桌上眯一会儿。
我不习惯熬夜,但更不习惯在陌生环境睡觉。我揉了揉太阳,起身去倒咖啡。
回来的时候,林雾正站在窗边打电话。她的声音压得很低,但我还是隐约听到了几个词:“没事……真的没事……你们别担心……我会处理好的……”
她挂了电话,转身看到我,愣了一下,然后笑了笑:“吓我一跳。”
“谁的电话?”我问。
“我妈。”她说,“催我回去相亲。”
这个回答出乎我的意料。我本来以为是更私人的事情。
“你会回去吗?”
“不回。”她耸耸肩,“又不是没相过,没意思。两个人坐在一起互相查户口,像面试一样。”