首页 > 代码库 > 无我编程十诫

无我编程十诫

  这篇博客记录在此,用以自勉自束。

 

  简评:这十戒是出自 1971 年的经典书 The Psychology of Computer Programming(程序开发心理学),字字珠玑。虽然技术日新月异,但这些对人性的观察确实经得起时间的考验。

StackOverflow 联合创始人 Jeff Atwood 写了注释。

 

  1. 人非圣人,孰能无过。理解并接受不完美的自己。// 关键在于正式发布前尽早找到问题
  2. 行有不得,反求诸代码。// 记住重点是找出问题,而且终会解决,不要因为代码而针对写代码的人。
  3. 人外有人天外有天。// 虚心求教,只要你问总有人会教你;当你认为不需要的时候,更应该去虚心求教
  4. 沟通好再重构。// fixing code 和 rewriting code 有着差别,了解差异,框架内寻求最优解,而不是孤独的码字机
  5. 用尊重、顺从和耐心对待那些寡闻之人。// 开发者和非技术人员的争吵往往是很糟的,不要用愤怒和不耐烦来刻画程序员的不好相处的形象
  6. 白衣苍狗,世界永恒不变的属性是变化。 // 开放、微笑地接纳新工具、新架构、新技术、新改变、新平台,将其视为新的挑战,而不是麻烦
  7. 真正的权威源于知识而不是地位。// 知识产生权威,权威赢得尊重。所以如果你想在一个公平无私的环境赢得尊重,去获得知识吧
  8. 屡败屡战 虽败犹荣。// 要明白我们的观点会被推翻。即使我们是正确的,也不要说诸如「我告诉过你」的话,不要像烈士一样大喊大叫
  9. 不要坐井观天。// 不要成为那个办公室只知道编程和买可乐的那个人。不要被困于小小的办公室,失去光明,失去视野,失去控制。
  10. 评价代码而不是评价人,对程序员好而不是代码。// 尽可能地让所有评论都是积极的,并着重于改进代码。评价关乎 local 的标准、程序规范、新能提升等要素

英文版:

  1. Understand and accept that you will make mistakes. 
  2. You are not your code
  3. No matter how much "karate" you know, someone else will always know more.
  4. Don‘t rewrite code without consultation. 
  5. Treat people who know less than you with respect, deference, and patience. 
  6. The only constant in the world is change. 
  7. The only true authority stems from knowledge, not from position.
  8. Fight for what you believe, but gracefully accept defeat. 
  9. Don‘t be "the guy in the room."
  10. Critique code instead of people – be kind to the coder, not to the code.

 

原文:The Ten Commandments of Egoless Programming

无我编程十诫