聊聊「無我編程」的十條戒律
非技術的那些事兒(25)
作者同類文章X
版權聲明:Follow your heart and intuition.
博主說:無我編程的十條戒律,最早出現在 Gerald Weinberg於 1971年出版的經典著作《程序開發心理學》里。雖然已經過去了幾十年,但這些原則並沒有被時間侵蝕,仍然值得每一位程序員拜讀。
「無我編程」發生在開發階段,表現為技術團隊經常通過同級評審的方式來發現軟體中的缺陷。目的是讓所有人(包括作者)都參與尋找缺陷,而不是證明軟體產品里沒有缺陷。人們會交換各自手上的代碼,相互進行評審,並且大家都有這樣的共識:代碼的原始作者會犯錯誤,而作為評審者,他們會找出這些錯誤。最後的結果是,每個人都從自己的錯誤以及別人的錯誤里有所長進。這就是「無我編程」的由來。
接受自己會犯錯的事實。關鍵是要在錯誤進入到生產環境之前把它們找出來。所幸的是,除了小部分在噴氣推進實驗室里開發火箭制導系統的程序員,大部分錯誤都不會造成致命的後果。所以,我們一定能夠而且也應該要學會嫣然一笑,然後繼續。
不要使用代碼來針對個人。要記住,代碼評審的目的是為了找出問題,而且總歸會找到問題。如果真的找到了問題,請不要把它作為針對個人的借口。
不管你知道多少「秘籍」,總有人比你知道得更多。如果你開口,他們就會教你更多的東西。在你認為沒有必要的時候,學會接受他人的建議。
不要不經討論地重寫代碼。「修復代碼」與「重寫代碼」是有明顯的區別的。了解這些區別,並在代碼評審的框架之內進行程式化的變更,而不是單獨作戰。
尊重比你懂得少的人,並對他們抱以耐心。與技術人員打交道的非技術人員認為技術人員要麼是妄自尊大的討厭鬼,要麼是愛撂挑子的倔驢。所以,我們不要用我們的憤怒和不耐煩去加深他們對我們的這種印象。
這個世界唯一不變的就是變化。敞開胸懷,面帶微笑地去擁抱變化。把每一個需求變更、平台變更或工具變更都看成是一個新的挑戰,而不是令人厭惡的麻煩。
真正的權威來自於知識,而不是職位。知識造就了權威,而權威會迎來尊重。如果你想要在一個無我的環境里得到尊重,那麼充實你的知識吧!
堅定你的立場,優雅地接受挑戰。要知道,你的想法有時候會遭到反對。你可以證明自己是對的,但不要試圖報復,不要總是叫嚷著「我早就說過」,不要被否定的想法看成是一個犧牲品或者某種戰鬥口號。
不要成為「小黑屋裡的人」。不要躲在小黑屋裡寫代碼,就算偶爾露個面,也只是為了買一杯可樂。躲在小黑屋裡只會讓你與其他人失去聯繫,淡出他們的視野,失去控制。在一個開放的協作環境里,你會找不到自己的位置。
批評代碼,而不是人。對人好一點,而不是代碼。讓你所有的評審為代碼帶來積極的改進,把你的評審與局部標準、程序規範和更好的性能結合在一起。
※這款手機被稱為無敵「小鋼炮」
※這款最後的旗艦屏幕隨心變,碰一碰就變全面屏
※原來成為高級程序員有這些因素,著實少走了很多彎路
※用魅族手機這麼久,你真的會用Flyme輸入法嗎?
※一分鐘讓你知道iOS11的幾大亮點!
TAG:安卓網 |
※雙手無法敲代碼的程序員,該如何編程?
※有了這十五款編程遊戲,誰都可以學編程!
※無論你多擅長編程
※程序猿的崛起,一篇文章看懂編程語言
※扒一扒那些和編程語言無關的技術
※你想知道的,目前最火的編程語言有哪些?
※玩桌游也能學編程?有這套「編程三劍客」就夠了
※編程思維對孩子的影響,簡直無法想像!
※抱著電腦卻沒遊戲玩的時代,無聊的小孩甚至去玩一款編程軟體
※這套好玩的可編程摺紙玩具,也許是孩子學編程的啟蒙老師
※曾經有個抱著電腦卻沒遊戲玩的時代,無聊的小孩甚至去玩一款編程軟體
※編程從業五年的十四條經驗,句句樸實
※為什麼說「不要教你的孩子學編程」?
※擁有無限玩法的紙盒子 任天堂Labo允許玩家自己編程
※想轉行做程序員,學哪種編程語言比較好?
※遊戲竟然玩成了編程高手!這你能信?
※看我如何假裝是一個編程極客
※趣味漫畫:如何使用不同的編程語言來造一匹馬
※我們為何需要更安全的系統編程語言?
※編程無人機可以在不確定的情況下飛行