在《The Psychology of Computer Programming | 程序開發(fā)心理學(xué)》書中,溫伯格首次提出了無我編程十誡。本文則是 Stack Overflow 聯(lián)合創(chuàng)始人 Jeff Atwood 對這十誡的注解。程序員普遍很自我(ego),都應(yīng)該看看本文,時(shí)刻提醒自己。
1. 理解并接受這個(gè)事實(shí):人都會(huì)犯錯(cuò)
關(guān)鍵是在錯(cuò)誤引入到產(chǎn)品前,盡早發(fā)現(xiàn)。幸運(yùn)的是,在我們的行業(yè)中,除了那些在噴氣推進(jìn)實(shí)驗(yàn)室(JPL)開發(fā)火箭導(dǎo)航軟件的人來說,大多數(shù)錯(cuò)誤并不要命,所以我們可以并且應(yīng)該從錯(cuò)誤中學(xué)習(xí),一笑了之然后向前看。
2. 你和你的代碼是兩回事
切記,審查代碼是為了找出問題,問題當(dāng)然會(huì)被發(fā)現(xiàn)。當(dāng)發(fā)現(xiàn)問題時(shí),別有情緒,別往心里去。
3. 天外有天,人外有人
三人行必有我?guī)熝?。尋求并且接受其他人的意見,特別是當(dāng)你認(rèn)為不必要的時(shí)候。
4. 不要盲目地重寫代碼
修改代碼和重寫代碼,兩者有明確的界限。搞清楚區(qū)別,通過代碼審查,改變代碼風(fēng)格,而不是做一個(gè)孤獨(dú)的執(zhí)行者。
5. 以尊重、敬意、耐心對待非技術(shù)人員
經(jīng)常和程序員打交道的非技術(shù)人員普遍認(rèn)為程序員充其量不過是一群自負(fù)的人,還是愛哭的嬌氣包。不要用生氣和不耐煩強(qiáng)化這種偏見。
6. 惟有改變方永恒
以開放的態(tài)度對待改變并用微笑接受改變。將每一次需求、平臺(tái)、工具的改變看作一個(gè)新挑戰(zhàn),而不是一些要反對的麻煩。
7. 真正且唯一的權(quán)威來自知識(shí),不是地位
知識(shí)帶來權(quán)威,權(quán)威帶來尊敬。所以如果想在無我的環(huán)境里獲得尊敬,那么請?jiān)鲩L知識(shí)。
8. 為信仰戰(zhàn)斗,但也要優(yōu)雅地接受失敗
要清楚,有時(shí)候你的想法會(huì)被否定。即使結(jié)果證明你是對的,不要報(bào)復(fù),或者最多說幾次‘我早就告訴過你’,不要讓你過去的想法成為殉道者或者戰(zhàn)斗口號(hào)。
9. 不要做個(gè)死宅
不要成為一直在小黑屋里編程,只在買可樂時(shí)出現(xiàn)的人。這樣的人不與人接觸,不被重視,不受控制并且不能融入開放合作的環(huán)境。
10. 對事不對人
要批評的是代碼,不是寫代碼的人。盡可能讓評論正面,并且只關(guān)注于提升代碼。評論只涉及內(nèi)部標(biāo)準(zhǔn)、編程規(guī)范、提升性能等等方面。
-
編程
+關(guān)注
關(guān)注
88文章
3633瀏覽量
93853 -
程序員
+關(guān)注
關(guān)注
4文章
953瀏覽量
29825
發(fā)布評論請先 登錄
相關(guān)推薦
評論