無我編程的 10 條戒律
阿新 • • 發佈:2017-10-27
tar 問題 utf8 重寫 尊敬 代碼 com 理解 內部
在《The Psychology of Computer Programming | 程序開發心理學》書中,溫伯格首次提出了無我編程十誡。本文則是 Stack Overflow 聯合創始人 Jeff Atwood 對這十誡的註解。程序員普遍很自我(ego),都應該看看本文,時刻提醒自己。
1. 理解並接受這個事實:人都會犯錯
關鍵是在錯誤引入到產品前,盡早發現。幸運的是,在我們的行業中,除了那些在噴氣推進實驗室(JPL)開發火箭導航軟件的人來說,大多數錯誤並不要命,所以我們可以並且應該從錯誤中學習,一笑了之然後向前看。
2. 你和你的代碼是兩回事
切記,審查代碼是為了找出問題,問題當然會被發現。當發現問題時,別有情緒,別往心裏去。
3. 天外有天,人外有人
三人行必有我師焉。尋求並且接受其他人的意見,特別是當你認為不必要的時候。
4. 不要盲目地重寫代碼
修改代碼和重寫代碼,兩者有明確的界限。搞清楚區別,通過代碼審查,改變代碼風格,而不是做一個孤獨的執行者。
5. 以尊重、敬意、耐心對待非技術人員
經常和程序員打交道的非技術人員普遍認為程序員充其量不過是一群自負的人,還是愛哭的嬌氣包。不要用生氣和不耐煩強化這種偏見。
6. 惟有改變方永恒
以開放的態度對待改變並用微笑接受改變。將每一次需求、平臺、工具的改變看作一個新挑戰,而不是一些要反對的麻煩。
7. 真正且唯一的權威來自知識,不是地位
知識帶來權威,權威帶來尊敬。所以如果想在無我的環境裏獲得尊敬,那麽請增長知識。
8. 為信仰戰鬥,但也要優雅地接受失敗
要清楚,有時候你的想法會被否定。即使結果證明你是對的,不要報復,或者最多說幾次‘我早就告訴過你’,不要讓你過去的想法成為殉道者或者戰鬥口號。
9. 不要做個死宅
不要成為一直在小黑屋裏編程,只在買可樂時出現的人。這樣的人不與人接觸,不被重視,不受控制並且不能融入開放合作的環境。
10. 對事不對人
要批評的是代碼,不是寫代碼的人。盡可能讓評論正面,並且只關註於提升代碼。評論只涉及內部標準、編程規範、提升性能等等方面。
無我編程的 10 條戒律