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

90、代码又又又被删了 这大概是头 ...

  •   这大概是头一回,我在工位上对着屏幕笑出声来,不是喜悦,而是一种极致的荒诞感。

      事情原本简单得很。我习惯按功能切分支开发,最后统一合并到主分支,干净、清晰、可追溯。这不是什么高深的理论,但凡用过版本控制工具的人,都明白这是避免互相踩踏的基本操作。我那位领导当时表情怪异,嘟囔着“多此一举”,我解释了一句最终都会合到主分支上,他没再说什么。我当时以为他只是懒得理解,现在想来,那沉默里藏着的是别的打算。

      今天我的本地分支和远程主分支冲突了。冲突本身不稀奇,稀奇的是——我上周合并完主分支的代码就再没动过它,只拉取,从未推送修改。冲突从哪来的?我翻了一遍提交记录,答案明晃晃地摊在屏幕上:他在中间的几个提交里,一笔一笔地,像用橡皮擦铅笔字一样,把我实现的功能代码逐行抹去,然后填上了他自己的写法。

      不是讨论,不是评审,不是哪怕一句“我觉得你这个设计有问题”。就是删除,替换,假装那些代码从来不曾存在过。

      那一刻我脑子里冒出来的第一个念头竟然不是愤怒,而是一个问句——这个人到底是怎么坐上这个位置的?不是技术上的疑问,而是人品上的费解。一个连同事写出来的代码都无法容忍的人,一个需要用删除别人痕迹来确认自己存在感的人,他的内心得脆弱到什么程度?

      我忽然理解了他当初为什么对“多个分支”这件事反应那么奇怪。在一个分支上开发,代码的来龙去脉被一次次提交淹没在历史记录里,删除起来不那么显眼,甚至可以被解释为“合并冲突处理”。而多个分支呢?分支本身就是一种声明——这段功能是我写的,这条线是我的工作痕迹。他要的不是协作效率,他要的是代码在名义上从属于同一个线性历史,方便他在其中悄无声息地做手脚。

      这是一种什么样的心理?说嫉妒太轻了,说自卑又不够准确。我更愿意称之为一种扭曲的控制欲——他不是在管理项目,他是在圈定领地。你的代码写得再好,那是对他的冒犯;你的分支建得再合理,那是对他的挑战。他不是不懂技术规范,他是觉得你不配拥有自己的那一条提交线。

      写周报的时候我犹豫了大概三秒钟。三秒钟之后,我把这件事原原本本地写了进去。不是告状,是记录。事实不需要添油加醋,commit记录就是最好的证词,每一条删除操作都带着他的账号和时间戳,清清楚楚。我以前总觉得职场里要给人留面子,现在觉得,面子这个东西,是留给愿意守住底线的人的。一个人自己先把底线拆了当柴烧,你替他遮掩,只会让火烧得更旺。

      有意思的是,写完这些我竟然平静了下来。愤怒像夏天午后的雷阵雨,来得猛,走得也快。取而代之的是一种近乎旁观者的清醒——当一个领导的全部精力都用在如何抹掉下属痕迹上的时候,他其实已经承认了一件事:他怕你。怕你的代码比他好,怕你的思路比他清晰,怕你被更上面的人看见。这种恐惧驱使他做出最原始的反应:删除,覆盖,假装那些东西是他自己的。

      而我能做的,就是不配合这场拙劣的表演。分支继续建,代码继续写,commit记录继续留着。至于他删不删——那是他的选择,而我的选择是确保每一次删除都有迹可循。

      最后我想说,职场里最累的从来不是工作本身,而是和那些把精力花在盘外招上的人周旋。但换个角度想,当一个人只能靠删除别人的代码来确立自己价值的时候,他其实已经输了。他能删掉分支上的字符,删不掉的是事实本身。而事实,是最有耐心的东西——它不吵不闹,就那么安安静静地躺在版本历史里,等着任何一个有心人翻开。

      我不同情他,也不打算原谅他。我只是觉得,和这样的人共事,最好的态度不是愤怒,而是把他当成一个案例来观察。观察一个成年人如何被自己的自卑和狭隘吞噬,观察一个所谓的领导如何用最幼稚的方式暴露自己的无能。

      周报已经写好了,明天会按时发出。至于他看后会是什么表情——说实话,我不太关心了。

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