发布于 2026-01-06 0 阅读
0

你是否遇到过这样的同事:他/她编写的代码存在缺陷,却经常得到不应有的表扬?

你是否遇到过这样的同事:他/她编写的代码存在缺陷,却经常得到不应有的表扬?

我在工作中遇到一个棘手的问题,不知道该如何处理。我猜想开发者社区里肯定也有其他人遇到过类似的情况,所以我想请教一下大家是如何解决的。

我选择匿名,因为我真的认为相关人员的姓名并不重要,而且我认为没有人是故意想做任何错事。

注:为了保护同事的隐私,我用字母“A”代替了他的姓名。


背景

最近,在进行一项大型新功能重构时,我负责初步研究实现方案。完成之后,另一位同事A加入了团队。A重写了我的大部分代码,因为他认为另一种写法会“更简洁”。我并不完全确信这个方案是否真的更好,因为之后发现了很多特殊情况,但这其实并不重要。


作为重构的一部分,A编写了一堆测试用例(很好),然后不断地以“看看我的工作多么出色”、“绝对不会有问题”的语气强调这些测试用例及其覆盖率。我非常支持测试(虽然我承认自己不擅长执行测试),所以一开始我对这个进展感到满意。

然而,当我第一次尝试运行A所做的更改时,遇到了一堆错误(尽管所有测试用例都通过了)。我把这些错误指出来, A也修复了它们。后来,随着更多功能的实现和更多神奇的测试用例的添加,我再次运行程序时,又发现了一堆新的错误——这种情况反复出现。

所以,可以得出两个显而易见的结论(至少对我来说是这样):

  1. 这些测试用例实际上并没有测试代码。它们使用的数据无法模拟真实的使用场景,而且经过了过度清理,已经毫无用处。
  2. 除了确认测试用例通过且服务可以启动之外,我从未实际运行过代码。我遇到的 bug并非容易被忽略的极端情况。

问题并未止于测试用例。新的“简化版”并没有实现我最初版本的功能。A 没有以我的工作为参考,而是选择查看旧版本的实现。我多次告诉A,旧版本的实现并不准确,因为我们正在进行重大更改。

A 的实现方案最终没有实现许多所需的新功能,同时却实现了许多我们不再需要的旧功能。因此,在过去的几周里,我花了很多时间来找出所有这些遗漏的部分,并不得不(重新)实现它们,或者移除我们不需要的部分。

所以,问题不仅在于测试用例实际上没有发现任何错误,而且新的解决方案既不完整,还做了不必要的工作。

在此期间,我通常会私下直接向A指出这些问题,尽量保持低调。然而,结果却是A 不断地向团队其他成员炫耀他的测试用例和他的工作,而其他成员也一直对此感到非常高兴/印象深刻。

这个项目耗时很久,我一直觉得(也许是错觉)好像是拖慢了进度。A和其他一些人加入项目后,进度并没有加快(即使测试用例写得非常棒 :P),这让我感觉像是验证了我的想法,原来问题不只出在身上。

总之,我发现自己在这个项目上的压力越来越大。我本来想在即将到来的绩效评估中突出我所做的出色工作。但是团队内部的讨论方式,感觉我的大部分工作都被忽略或轻视了,而A却被视为“救世主”,仿佛是他一来就解决了所有问题,让项目变得更好了。

这并非 A第一次 表现得好像自己做了什么了不起的事情,而且其他人似乎都对此趋之若鹜。造成了一种令人不舒服的工作氛围。A最近从初级开发人员晋升为中级开发人员,我真的觉得这一切很大程度上是因为A的自负远大于他的实际能力。

通常情况下,我都能对这种行为置之不理,因为我的工作基本上与此无关。但现在感觉A的工作(以及他的态度)正在让难堪。

我总是陷入“是不是真的错在我身上了?”的思维怪圈,但当我运行代码后,却发现更多的问题,一些显而易见且根本性的问题——然后我又开始生气/沮丧了!

我在想……

有没有人有过和这类同事共事的经历?你们是如何应对的?你们会找谁沟通?开发人员?经理?还是其他人?你们是如何与他们沟通的?你们找到了哪些解决方案?哪些方法有效?哪些无效?


这是一篇匿名帖子,发帖人不愿透露姓名。请谨慎回复,因为这类帖子通常很难写。如果您想匿名留言,请发送邮件至sloan@dev.to 。

文章来源:https://dev.to/sloan/have-you-ever-had-a-colleague-who-routinely-gets-undue-praise-for-flawed-code-hbm