晋江文学城
下一章 上一章  目录  设置

17、第17章:代码天赋的余温 ...

  •   城中村打印店的日光灯管发出濒死般的嗡鸣,光线在陈雪新贴的“奥运纪念册特惠”海报上投下惨白的光晕。空气里漂浮着热熔胶的甜腻、油墨的刺鼻,以及一丝若有若无的辣椒酱气息——是陈雪中午拌面留下的。朵朵蜷在角落的小板凳上,蜡笔在废打印纸背面涂抹着歪扭的图案,蜡油蹭在纸角“阳光工程”的残印上,融成一片混沌的暖黄。

      苏晴坐在吴舟对面,隔着一张堆满废弃硒鼓和散乱电线的折叠桌。她面前摊开的笔记本电脑屏幕幽幽亮着,正是字捷跳动内容编辑后台的预览界面。那篇《从门户到算法:内容分发的技术演进》静静躺在编辑框里,标题下方,“Django框架”四个字被精准修正,再无刺眼的错误。预览窗口里,图文排版流畅清晰,数据区块调用精准无误。

      她盯着屏幕,指尖无意识地抠着桌沿一块翘起的木刺。复试结束后总监那句“排版和框架理解进步很大”的评语还在耳边回响,带着一丝不易察觉的困惑和审视。她抬起眼,目光复杂地落在吴舟身上。他正埋头在一堆打印纸里,用铅笔勾画着什么,侧脸在昏暗光线下显得轮廓分明,却又笼罩着一层她从未看清的迷雾。

      “吴舟,”苏晴的声音打破了打印机的喘息间隙,“复试…过了。”她顿了顿,似乎在斟酌词句,“总监说…排版和框架理解进步很大。”她没提那个诡异的、自动修正的预览错误,也没提总监眼中一闪而过的疑虑。

      吴舟笔尖未停,只在纸页上发出沙沙的摩擦声。“嗯。”一个单音节,听不出情绪。

      苏晴抿了抿唇,从帆布包里抽出一叠装订好的A4纸,推到桌子中央。“字捷要求补充作品集…电子版和打印版都要。”她声音低了些,“我…弄了个网页链接,但排版总是不对劲…”她点开浏览器收藏夹里一个网址。

      页面加载缓慢,劣质服务器拖出的进度条像垂死者的心电图。终于,一个配色刺眼、布局混乱的网页艰难地呈现出来:大块荧光绿背景撞上艳粉色标题栏,图片尺寸不一像打补丁,文字段落挤作一团,导航栏的按钮歪歪扭扭,鼠标悬停时还爆出像素颗粒感十足的劣质动画特效。右下角甚至有个自动播放的Flash音乐播放器,正断断续续地嘶吼着网络神曲。

      “毕业设计?”吴舟终于抬眼,目光扫过屏幕,像手术刀划过病灶。

      苏晴脸颊微热:“嗯…用Dreamweaver做的…模板改的。”她想起复试时总监看到这个链接时嘴角那抹几乎压不住的嘲讽。

      吴舟没说话。他放下铅笔,铅笔滚到桌角,撞上半瓶凝固的辣椒酱。他伸手,手指越过桌上散落的电阻电容和朵朵掉落的半截蜡笔,覆上苏晴放在触控板上的手。他的手干燥、微凉,带着薄茧和一丝若有若无的松香焊锡气味。苏晴的手背皮肤细腻,却瞬间绷紧,像受惊的鸟。

      “借过。”吴舟的声音平静无波。他轻轻将苏晴的手移开,指尖划过她微凉的皮肤,带起一阵细微的战栗。然后,他的手指落在了触控板上。

      动作开始了。

      没有打开任何可视化编辑器。他直接点开浏览器的开发者工具(F12)。黑色背景的代码窗口瞬间弹出,密密麻麻的HTML、CSS、JavaScript如同瀑布般冲刷而下!苏晴看得眼花缭乱,那些div、class、function如同天书。

      吴舟的指尖在触控板上滑动,光标精准地定位到一段臃肿的CSS代码块:
      ******

      他眉头都没皱一下,手指飞动。大段冗余代码被无情删除,只留下核心的容器定义。然后,他敲入几行苏晴从未见过的语法:
      ******
      页面中央那块刺眼的荧光绿瞬间消失,被一片清爽的淡蓝取代,混乱的布局如同被无形的手抚平,自动分割成比例协调的两栏!

      苏晴倒吸一口凉气。她还没反应过来,吴舟的手指又点开了JavaScript控制台。那个嘶吼的Flash播放器代码暴露无遗:
      ******

      他直接选中,删除!令人烦躁的背景音乐戛然而止,世界瞬间清净。

      接着是导航栏。那些歪扭的按钮代码里充斥着过时的table布局和blink闪烁标签。吴舟的手指在触控板上划动,精准选中,删除。敲入新的CSS:
      ******

      瞬间,歪扭的按钮消失了,取而代之的是一排间距均匀、圆角优雅、悬停有渐变效果的蓝色导航链接!鼠标移上去时,颜色平滑过渡,毫无卡顿。

      苏晴的眼睛越睁越大,呼吸都屏住了。她看着吴舟的手指如同拥有魔力,在冰冷的代码间跳跃。他调整图片尺寸,引入简单的响应式设计(******),让图片在不同屏幕下自动适应;他优化字体,引入Google Fonts的在线字体链接,替换掉系统默认的丑陋宋体;他添加细微的阴影(******)提升层次感;他甚至用几行CSS动画,让页面加载时标题淡入(******)……

      整个过程行云流水,没有一丝停顿和犹豫。仿佛那些复杂的布局逻辑、优雅的交互效果、前沿的CSS3特性,早已刻在他的骨髓里,成为了一种无需思考的本能。他的眼神专注而平静,屏幕上滚动的代码映在他深邃的瞳孔里,如同星辰运转的轨迹。汗水顺着他专注的侧脸滑下,滴在键盘的空格键上,洇开一小片深色,他却浑然不觉。

      打印店的嘈杂仿佛被隔绝在外。老油印机的低吼,陈雪敲击计算器的嗒嗒声,朵朵哼唱的儿歌,都成了模糊的背景音。只有吴舟指尖在触控板上滑动、点击的细微声响,以及代码被修改、保存后页面刷新的沙沙声,构成了一个奇异的、只属于代码的世界。

      当最后一处图片边距被调整完美,吴舟松开触控板,身体微微后靠。屏幕上,一个简洁、优雅、专业,充满现代感的作品集网页静静呈现。柔和的色调,清晰的布局,流畅的交互,与之前那个灾难现场判若云泥。

      “好了。”吴舟的声音带着一丝不易察觉的沙哑,是长时间专注后的疲惫。

      苏晴怔怔地看着焕然一新的网页,又缓缓转过头,看向吴舟。她的目光里充满了难以置信的震撼,以及一种更深沉的困惑。“你…”她的声音有些发颤,指尖无意识地摩挲着桌面上被铅笔勾画过的痕迹,“…你不是最讨厌前端吗?你说那些标签、样式…是‘屎山’,是‘视觉污染’…”

      她清晰地记得,大学时小组作业做网页,吴舟负责后端,对前端代码嗤之以鼻,甚至因为一个div嵌套问题跟负责前端的同学大吵一架,摔门而去。那时的他,眼里只有冰冷高效的后台逻辑,对所谓“花里胡哨”的界面充满不屑。

      吴舟没有立刻回答。他抬起手,揉了揉因长时间低头而有些僵硬的脖颈。目光落在屏幕上那行优雅的CSS网格布局代码上,眼神有些飘忽。前世在字捷跳动,他熬了无数个通宵重构的电商后台,那些精妙的分布式架构、高并发处理,最终不也是要透过这样一个前端界面,才能被用户感知到价值吗?他厌恶的或许从来不是前端本身,而是那些为了赶工期堆砌出的、毫无美感和逻辑的垃圾代码,就像他前世最终被压垮的身体,也是被无数垃圾需求堆砌而成的。

      “有些东西,”他开口,声音低沉,带着一种历经沧桑后的平淡,“讨厌归讨厌。”他的指尖无意识地在油腻的桌面上轻轻敲击,那是一种程序员调试代码时特有的节奏,如同刻在肌肉深处的记忆。“扔不掉。”

      他的目光扫过苏晴震惊的脸,又落到角落里。朵朵正举着一张新画的蜡笔画跑过来,画上是三个歪扭的小人,中间那个手里拿着一个发光的方块(电脑?),方块上画满了波浪线(代码?)。画纸边缘,还粘着一点打印机的黑色墨粉。

      吴舟接过画,粗糙的指尖拂过那稚嫩的笔触。窗外,城中村狭窄的天空被霓虹染成暧昧的紫红色,远处高楼巨大的电子屏正轮播着字捷跳动的招聘广告,年轻程序员自信的笑容在光影中闪烁。他背包里,成捆的钞票和冰凉的塑料上网卡紧贴着后背,那是他斩断过往的利刃,也是通往未知的船票。而指尖残留的代码触感,如同幽灵般缠绕的余温,提醒着他,无论重生多少次,有些烙印,早已深入灵魂,成为无法剥离的一部分。他随手将朵朵的画压在键盘下,画纸上那发光的代码方块,在昏暗的灯光下,仿佛真的在微微闪烁。

  • 昵称:
  • 评分: 2分|鲜花一捧 1分|一朵小花 0分|交流灌水 0分|别字捉虫 -1分|一块小砖 -2分|砖头一堆
  • 内容:
  •             注:1.评论时输入br/即可换行分段。
  •                 2.发布负分评论消耗的月石并不会给作者。
  •             查看评论规则>>