这篇博客记录在此,用以自勉自束。
简评:这十戒是出自 1971 年的经典书 The Psychology of Computer Programming(程序开发心理学),字字珠玑。虽然技术日新月异,但这些对人性的观察确实经得起时间的考验。
StackOverflow 联合创始人 Jeff Atwood 写了注释。
- 人非圣人,孰能无过。理解并接受不完美的自己。// 关键在于正式发布前尽早找到问题
- 行有不得,反求诸代码。// 记住重点是找出问题,而且终会解决,不要因为代码而针对写代码的人。
- 人外有人天外有天。// 虚心求教,只要你问总有人会教你;当你认为不需要的时候,更应该去虚心求教
- 沟通好再重构。// fixing code 和 rewriting code 有着差别,了解差异,框架内寻求最优解,而不是孤独的码字机
- 用尊重、顺从和耐心对待那些寡闻之人。// 开发者和非技术人员的争吵往往是很糟的,不要用愤怒和不耐烦来刻画程序员的不好相处的形象
- 白衣苍狗,世界永恒不变的属性是变化。 // 开放、微笑地接纳新工具、新架构、新技术、新改变、新平台,将其视为新的挑战,而不是麻烦
- 真正的权威源于知识而不是地位。// 知识产生权威,权威赢得尊重。所以如果你想在一个公平无私的环境赢得尊重,去获得知识吧
- 屡败屡战 虽败犹荣。// 要明白我们的观点会被推翻。即使我们是正确的,也不要说诸如「我告诉过你」的话,不要像烈士一样大喊大叫
- 不要坐井观天。// 不要成为那个办公室只知道编程和买可乐的那个人。不要被困于小小的办公室,失去光明,失去视野,失去控制。
- 评价代码而不是评价人,对程序员好而不是代码。// 尽可能地让所有评论都是积极的,并着重于改进代码。评价关乎 local 的标准、程序规范、新能提升等要素
英文版:
- Understand and accept that you will make mistakes.
- You are not your code
- No matter how much "karate" you know, someone else will always know more.
- Don't rewrite code without consultation.
- Treat people who know less than you with respect, deference, and patience.
- The only constant in the world is change.
- The only true authority stems from knowledge, not from position.
- Fight for what you believe, but gracefully accept defeat.
- Don't be "the guy in the room."
- Critique code instead of people – be kind to the coder, not to the code.
原文: The Ten Commandments of Egoless Programming墨匠