写代码久了,听音乐也会走神去想结构。有回听到一首歌的副歌,旋律一层层叠上来,我脱口而出:"这命名真工整。"老婆白我一眼,我没解释——她不懂,那段编排确实像一段 well-named 的函数。

主歌是参数,铺垫情绪;预副歌是校验,把张力攒住;副歌一来,所有变量归位,该输出的输出,干净利落。差的歌像烂代码:主歌还没说清,副歌就急着炸,听的人一头雾水,像读没注释的意大利面。

我审代码有个习惯:先看函数名能不能当注释用。好名字自己会说话。好副歌也一样,旋律一进,你不用懂乐理,身体先懂了——这叫"可读性",音乐和代码,共用这个词。

有回 review 一段前同事的代码,命名烂得我想哭,顺手放了首结构清晰的爵士,边听边改。奇怪,耳朵替我把节奏稳住后,手也跟着利落了。后来我管这叫"听觉编译":让一段好音乐,替混乱的大脑先做一遍格式化。

当然,代码求的是对,音乐求的是对味。两者不该混为一谈。可它们都讲究同一件事:克制。该留白处留白,该起处起,不堆砌,不炫技。

现在我书桌左边唱机,右边键盘。累了就放首结构漂亮的,让副歌替我把思绪理顺。写代码和听歌,归根结底,都是和复杂度温柔相处。

我把这心得发在朋友圈,被做音乐的哥们看到,回我:"你们写代码的,连感动都要先画流程图。"我回:"流程图没有,但副歌那段,我确实打了满分。"他发了个笑哭的表情。跨界的可爱,大概就在这种,互相觉得对方不可理喻,又悄悄羡慕。