1. 程式人生 > >StackOverflow 創始人關於如何高效程式設計的清單.md

StackOverflow 創始人關於如何高效程式設計的清單.md

這是 StackOverflow 聯合創始人 Jeff Atwood 註釋的十戒。程式設計師普遍有很強的自尊心,都應該看看本文,列印下來時刻提醒自己。

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

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

1. 接受自己會犯錯的事實

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

2. 不要使用程式碼來針對個人

要記住,程式碼評審的目的是為了找出問題,而且總歸會找到問題。如果真的找到了問題,請不要把它作為針對個人的藉口。

3. 不管你知道多少“祕籍”,總有人比你知道得更多

如果你開口,他們就會教你更多的東西。在你認為沒有必要的時候,學會接受他人的建議。

4. 不要不經討論地重寫程式碼

“修復程式碼”與“重寫程式碼”是有明顯的區別的。瞭解這些區別,並在程式碼評審的框架之內進行程式化的變更,而不是單獨作戰。

5. 尊重比你懂得少的人,並對他們抱以耐心

與技術人員打交道的非技術人員認為技術人員要麼是妄自尊大的討厭鬼,要麼是愛撂挑子的倔驢。所以,我們不要用我們的憤怒和不耐煩去加深他們對我們的這種印象。

公眾號逆鋒起筆專注分享JavaPython、前端、個人成長、職業發展乾貨,關注即送小編整理的精品程式設計視訊教程;每天下午 14:40 精彩推送,每個程式設計師值得關注的技術平臺。

6. 這個世界唯一不變的就是變化

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

7. 真正的權威來自於知識,而不是職位

知識造就了權威,而權威會迎來尊重。如果你想要在一個無我的環境裡得到尊重,那麼充實你的知識吧。

8. 堅定你的立場,優雅地接受挑戰

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

9. 不要成為“小黑屋裡的人”

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

10. 批評程式碼,而不是人

對人好一點,而不是程式碼。讓你所有的評審為程式碼帶來積極的改進,把你的評審與區域性標準、程式規範和更好的效能結合在一起。

策劃:Jeff Atwood 編輯:薛命燈

公眾號逆鋒起筆專注分享JavaPython、前端、個人成長、職業發展乾貨,關注即送小編整理的精品程式設計視訊教程;每天下午 14:40 精彩推送,每個程式設計師值得關注的技術平臺。