這篇部落格記錄在此,用以自勉自束。
簡評:這十戒是出自 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
墨匠