StackOverflow 創始人關於如何高效編程的清單

這是 StackOverflow 聯合創始人 Jeff Atwood 註釋的十戒。程序員廣泛有很強的自尊心,都應該看看本文,打印下來時刻提醒本身。程序員

「無我編程」發生在開發階段,表現爲技術團隊常常經過同級評審的方式來發現軟件中的缺陷。目的是讓全部人(包括做者)都參與尋找缺陷,而不是證實軟件產品裏沒有缺陷。人們會交換各自手上的代碼,相互進行評審,而且你們都有這樣的共識:代碼的原始做者會犯錯誤,而做爲評審者,他們會找出這些錯誤。最後的結果是,每一個人都從本身的錯誤以及別人的錯誤裏有所長進。這就是「無我編程」的由來。編程

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

 

  1. 接受本身會犯錯的事實。關鍵是要在錯誤進入到生產環境以前把它們找出來。所幸的是,除了小部分在噴氣推動實驗室裏開發火箭制導系統的程序員,大部分錯誤都不會形成致命的後果。因此,咱們必定可以並且也應該要學會嫣然一笑,而後繼續。工具

  2. 不要使用代碼來針對我的。要記住,代碼評審的目的是爲了找出問題,並且總歸會找到問題。若是真的找到了問題,請不要把它做爲針對我的的藉口。性能

  3. 無論你知道多少「祕籍」,總有人比你知道得更多。若是你開口,他們就會教你更多的東西。在你認爲沒有必要的時候,學會接受他人的建議。網站

  4. 不要不經討論地重寫代碼。「修復代碼」與「重寫代碼」是有明顯的區別的。瞭解這些區別,並在代碼評審的框架以內進行程式化的變動,而不是單獨做戰。spa

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

  6. 這個世界惟一不變的就是變化。敞開胸懷,面帶微笑地去擁抱變化。把每個需求變動、平臺變動或工具變動都當作是一個新的挑戰,而不是使人厭惡的麻煩。博客

  7. 真正的權威來自於知識,而不是職位。知識造就了權威,而權威會迎來尊重。若是你想要在一個無個人環境裏獲得尊重,那麼充實你的知識吧。產品

  8. 堅決你的立場,優雅地接受挑戰。要知道,你的想法有時候會遭到反對。你能夠證實本身是對的,但不要試圖報復,不要老是叫嚷着「我早就說過」,不要被否認的想法當作是一個犧牲品或者某種戰鬥口號。

  9. 不要成爲「小黑屋裏的人」。不要躲在小黑屋裏寫代碼,就算偶爾露個面,也只是爲了買一杯可樂。躲在小黑屋裏只會讓你與其餘人失去聯繫,淡出他們的視野,失去控制。在一個開放的協做環境裏,你會找不到本身的位置。

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

相關文章
相關標籤/搜索