crb912
3/9/2021 - 11:39 AM

程序员真的“文人相轻”吗?

编程相关

程序员真的“文人相轻”吗?

大多数人都觉得程序员文人相轻,尤其是同事之间互相看不起谁,这是比较普遍的看法。我就这件事谈谈自己的看法。

以我的水平去看别人的代码,如果发现有问题我很想去指明出来,我想说这不是“文人相轻”。这是编程的一个道德性问题,有的代码你可以那么写,有的代码就是不应该那样写。我没办法把错误的做法认为它理所应当。

并且,被别人指出我代码中的问题,我自己也十分乐于接受。因为改正之后,我也就能写出更好的代码了。这是个相互促进的过程。

然而,这件事并没有那么简单。

因为大多数程序员相对都比较沉默,也可能是中国人的儒家传统吧--对别人的错误持以宽容的态度。所以他们不在同事面前去挑明他的代码问题,只是在匿名的论坛上抱怨一下,所以就显得“文人相轻”了。实际上,我觉得最好的做法是当着同事的面抱怨,这样的行为,看起来比“文人相轻”更过分了。但我觉得这才是正确的处事方式。

尽管我说起来轻松,其实在我过去的工作中,我也很少去和同事去抱怨。不这么做最大的原因:有时候一看就知道,别人压根就不想写出更好的代码。他只是把这份工作当成谋生的手段,能拿到工资就够,写出什么不负责任的代码是无所谓的。因此我也就没有浪费口水的必要性。

再者,人与人之间的交往,可能没有那么简单。你指出别人的错误,别人可能反而会记恨,觉得你对他有偏见。

由于这两个原因加在一起,我也经常保持沉默。

第一个原因是情有可原的,第二个原因的想法完全就不对了。不能因为别人记恨,就不去指明他的错误。也许他也想更出更好的代码呢?保持沉默,就失去了认识一个志同道合的朋友的机会。

所以我的建议是:

如果你觉得别人的代码有问题,应该去指明出来,尽可能选择更礼貌和友好的方式。

  1. 如果他能听进其中的理由并且改正错误,说明是一个不错的朋友。是与自己想法一致的人。
  2. 如果他有充分的理由反驳你,说明你的理解可能还不如他深刻,或者只是说存在分歧。但这也能说明,他是个可以讲道理的人,也说明他写这个代码时是有思考的。那么这也是不错的朋友。
  3. 如果他对此抱着无所谓的态度,也不太情愿去改正。那么,下次就不用和他讲了,因为说了也不会听。

写到快要结束了,想起以前工作时候的一件事。同事指出我一个Python的字符串切割的方式,我没有使用标准库,他说我的写法过于“暴力”。

其实,我那个“暴力”写法和用标准库,结果的代码行数是一样的。而且只是简单的切割,语法本身也简单明了。所以我觉得那种情况下,没有必要再import一个库。不过他指出我的错误,也很好,也是一个优雅的做法。实际上, 我在写那句代码时是有考虑的,但是我没有选择标准库。虽然我不全同意他的观点,但我觉得他做得很对,我需要的是这种同事。