乐者为王

Do one thing, and do it well.

无我编程的十诫

英文原文:https://blog.codinghorror.com/the-ten-commandments-of-egoless-programming/

无我编程的十诫最早出现在杰拉尔德·温伯格(Gerald M. Weinberg)的《The Psychology of Computer Programming》中:

  • 理解并接受自己会犯错误。关键是在错误进入到生产环境之前尽早地找到它们。幸运的是,除了我们几个在JPL开发的火箭制导软件外,我们行业中的错误很少是灾难性的,所以我们可以而且应该,学习、大笑、然后继续前行。
  • 你不是你的代码。记住,代码审查的整个出发点是找到问题,而且终归会找到问题。所以当问题被发现时不要太在意。
  • 不管你知道多少“karate”,总有人比你知道得更多。如果你问的话,这样的人可以教你一些新的动作。寻求并接受他人的意见,尤其是当你认为不需要的时候。
  • 不要没有商讨就重写代码。 “修复代码”和“重写代码”之间有着明显的区别。弄清两者的区别,并在代码审查的框架内追求风格变化,而不是孤独的执行者。
  • 尊重比你懂得少的人,并抱以耐心。与开发者交涉的非技术人员几乎普遍认为我们是妄自尊大的讨厌鬼。不要用愤怒和不耐烦来加深这种刻板印象。
  • 世界上唯一不变的就是变化。敞开胸怀,面带微笑地去接受变化。将需求、平台或工具的每个变化视为新的挑战,而不是一些严重地需要抗争的不便。
  • 真正的权威源自知识,而不是职位。知识产生权威,权威就会产生尊重——所以如果你想在无我的环境中得到尊重,请充实知识。
  • 为信念而战,但优雅地接受失败。明白有时你的想法将被推翻。即使你的确是正确的,也不要报复或者嚷嚷说“我早就说过”,不要把被否定的想法当作是牺牲品或者口号。
  • 不要成为“宅男”。不要成为在黑暗的办公室里编码的家伙,就算偶尔露个面,也只是为了买杯可乐。“宅男”会与其他人失去联系,淡出他们的视野,失去控制,在开放协作的环境中将没有任何位置。
  • 批评代码而不是人——对程序员好点,而不是代码。尽可能地使你的所有评论都是积极的,并且旨在改进代码。将评论与局部标准、程式规格、性能提升等相关联。

软件的人性化原则是永恒的。《The Psychology of Computer Programming》早在1971年我1岁时就写成。虽然已经过去几十年,但这些原则并没有过时,仍然值得所有程序员拜读。

Comments