無我編程的十條戒律

VickyKang 7年前發布 | 24K 次閱讀 軟件開發

“無我編程”發生在開發階段,表現為技術團隊經常通過同級評審的方式來發現軟件中的缺陷。目的是讓所有人(包括作者)都參與尋找缺陷,而不是證明軟件產品里沒有缺陷。人們會交換各自手上的代碼,相互進行評審,并且大家都有這樣的共識:代碼的原始作者會犯錯誤,而作為評審者,他們會找出這些錯誤。最后的結果是,每個人都從自己的錯誤以及別人的錯誤里有所長進。這就是“無我編程”的由來。

無我編程的十條戒律,最早出現在由 Gerald Weinberg 于1971年出版的經典著作《 程序開發心理學 》里。Stack Overflow網站的聯合創始人Jeff Atwood在 博客 上再次列出了這十條戒律。要知道,在這本著作出版的時候,Jeff才一歲。雖然已經過去了幾十年,但這些原則并沒有被時間侵蝕,仍然值得每一位程序員拜讀。

  1. 接受自己會犯錯的事實。關鍵是要在錯誤進入到生產環境之前把它們找出來。所幸的是,除了小部分在噴氣推進實驗室里開發火箭制導系統的程序員,大部分錯誤都不會造成致命的后果。所以,我們一定能夠而且也應該要學會嫣然一笑,然后繼續。

  2. 不要使用代碼來針對個人。要記住,代碼評審的目的是為了找出問題,而且總歸會找到問題。如果真的找到了問題,請不要把它作為針對個人的借口。

  3. 不管你知道多少“秘籍”,總有人比你知道得更多。如果你開口,他們就會教你更多的東西。在你認為沒有必要的時候,學會接受他人的建議。

  4. 不要不經討論地重寫代碼。“修復代碼”與“重寫代碼”是有明顯的區別的。了解這些區別,并在代碼評審的框架之內進行程式化的變更,而不是單獨作戰。

  5. 尊重比你懂得少的人,并對他們抱以耐心。與技術人員打交道的非技術人員認為技術人員要么是妄自尊大的討厭鬼,要么是愛撂挑子的倔驢。所以,我們不要用我們的憤怒和不耐煩去加深他們對我們的這種印象。

  6. 這個世界唯一不變的就是變化。敞開胸懷,面帶微笑地去擁抱變化。把每一個需求變更、平臺變更或工具變更都看成是一個新的挑戰,而不是令人厭惡的麻煩。

  7. 真正的權威來自于知識,而不是職位。知識造就了權威,而權威會迎來尊重。如果你想要在一個無我的環境里得到尊重,那么充實你的知識吧。

  8. 堅定你的立場,優雅地接受挑戰。要知道,你的想法有時候會遭到反對。你可以證明自己是對的,但不要試圖報復,不要總是叫嚷著“我早就說過”,不要把被否定的想法看成是一個犧牲品或者某種戰斗口號。

  9. 不要成為“小黑屋里的人”。不要躲在小黑屋里寫代碼,就算偶爾露個面,也只是為了買一杯可樂。躲在小黑屋里只會讓你與其他人失去聯系,淡出他們的視野,失去控制。在一個開放的協作環境里,你會找不到自己的位置。

  10. 批評代碼,而不是人。對人好一點,而不是代碼。讓你所有的評審為代碼帶來積極的改進,把你的評審與局部標準、程序規范和更好的性能結合在一起。

 

來自:http://www.infoq.com/cn/news/2017/06/10-Commandments-without-program

 

 本文由用戶 VickyKang 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!