十条无我编程的戒律

下面是译自Jeff Atwood的The Ten Commandments of Egoless Programming1

======我是华丽的分割线======

这十条无我编程的戒律,源自Jerry Weinberg的《程序开发心理学》2一书。

  1. 理解并接受你所犯的错。这是说尽早的在产品发布之前发现这些错误。幸好我们不是在JPL(隶属NASA的喷气推进实验室)开发火箭制导软件的一小撮人,在我们的行业中很难出现致命错误,所以我们可以也必须从错误中学习、开怀并且继续前行。
  2. 你并不等于你的代码。记住审查的目的是为了找到问题,而且问题一定会被找到。不要为一个没有发现的问题而自责。
  3. 你知道多少不重要,总有人知道的比你多。如果你问一个人他总能告诉你一些新鲜的玩意。寻找并且从其他人那里接受输入,尤其是你觉的你不需要的时候。
  4. 没有商讨就不要重写代码。在修复代码和重写代码之间总有一条不错的界线,知晓其中的不同,并在代码审查的框架中追查文法上的变化,而不是孤僻的强迫症。
  5. 用耐心和尊敬善待那些知道的比你少的人。非技术人员在和开发打交道时普遍持有偏见,好一些情况下认为我们是一群自负的怪人,坏一些的情况下认为我们是一群玻璃心。不要用愤怒和不耐烦加深这种偏见。
  6. 在这个世界上持续存在的只有变化。用微笑和开放的心态去接受变化。把每一个需求、平台或是工具上的变化视作新的挑战,而不是严重的不利因素去抵触。
  7. 真正的权威来自于知识,并不是职位。知识带来权威,权威带来尊敬,所以你如果想要在一个自大的环境中受尊敬,增加知识吧。
  8. 为你的信仰而战,但也要勇于承担。要知道有时候你的想法会被批驳。即便最终你是对的,也不要报复或者说“我早就说了”这样的话,也不要作出一副为你的想法惋惜或者哭诉的模样。
  9. 不要成为屋子里的人。不要成为长期处在阴暗角落且打水的时候才出现的码农,屋子里的人与世隔绝、淡出人们视线、失控且在开放协作的环境中无立锥之地。
  10. 批评代码而不是批评人——善待码农,而不是代码。尽可能的让你的评论都是积极的而且目的是促进代码质量。评论要和标准,编程规范,优化性能等内容相关。

软件的人性化的准则真是不过时的。这本《程序开发心理学》2成书于1971年,而一年后我才出生。

======我是华丽的分割线======

Guixing 翻译于 2017-06-06 


  1. https://blog.codinghorror.com/the-ten-commandments-of-egoless-programming/ ↩︎

  2. https://book.douban.com/subject/1141154/ ↩︎


Last modified on 2017-06-06