程式設計師學習專案和程式碼的精髓是什麼?

edithfang發表於2014-12-30
我發現自己在最近的幾個專案中偷竊了其它專案的思想。當然,並不是真正的“偷”,而是瀏覽和學習你欣賞的專案和開發者,從中竊取思想。諸如設計模式,重構方法等。Chris是如何處理hub裡的命令列引數的?shell指令碼和rvm上的Ruby是如何進行韋恩轉化的?

當你遇到問題,有點難度、需要你動一下腦子時,你要問“嗨,我怎麼實現這個呢?”,這是個不錯的問題入手點。
 
一旦你遇到這種問題,當然,你可以在Google上搜尋出一篇文章,找到方案。但如果你從別人哪裡“偷”來,你會收穫兩點:
 
你的理解和那個特別的專案之間建立了思想上的連線。

你“擁有”了那個思想。
 
“擁有”你偷來的東西是一種潛移默化的過程,但你可以想象出:你花大量的時間去理解這些思想,你把它應用到解決自己的問題裡。這種思想上的過程是很有滿足感的。突然靈光一閃,你開始明白為什麼作者要重構這個方法,為什麼他們需要一個輔助類了。
 
不要誤解;能夠自己創造東西當然是最好。這是學習知識達到了另外一種完全不同的級別,大多數情況下都需要我們這樣。但有時,從他人哪裡學習優秀的經驗是一種最快的啟蒙方式——不是為了要解決你手頭上的問題,而是要本質上理解其中的精髓。
 
觀察別人是如何解決你的問題的,要自己能夠理解其中體現的思想,按照自己的觀點重新塑造它,讓這思想成為“你的”思想,你把它裝在自己的腦袋裡,以備下一個專案中使用。這也就是“學習”這個詞的另一種說法,但就在我想到這種想象的、異樣的說法時——哦,這正是幾個月前在另外一個專案中從Homebrew哪裡偷到的繼承策略嗎 —— 我接受知識的能力提高了。
 
一旦你對知識的吸收消化達到了這種水平,那這些外來的思想就成為了你腦海裡捻之即來的自有思想了。
 
[英文原文:Steal the Code ] 
來自:PHP100
相關閱讀
評論(1)

相關文章