0408 - 從開源項目中學習

我以前的學習方式,大部分是直接學習技術,而後直接使用該技術,從零開始堆代碼,解決實際問題。html

這種方式的好處時,對技術基礎部分理解比較深刻;學習是一步步深刻的,難度相對小些,不會由於太難而齣戲或放棄。學習

壞處是,缺少大型項目的最佳實踐經驗。對一些技術的組合及使用,全憑本身對新技術的理解和過往的經驗。而這樣的使用,極可能是「土方法」。雖然說在小項目中也能實現功能,但每每不優雅、靈活性差。htm

與之相比,另外一種學習及使用新技術的方法是:基於開源庫學習。這些開源庫,是對技術的完整及實際使用;並非 Hello World 級別,而是真實可用於生產的使用。文檔

好比,在學習 Ant Design 時,前一種使用是本身看完文檔及各組件用法後,本身堆代碼以實現業務邏輯。後一種是,繼續學習 Ant Design Pro,而後在其基礎上修改,或借鑑其總體代碼並實現業務。Ant Design Pro 並非對 Ant Design 簡單的示例性應用,而是開箱即用、可用於生產環境的項目。get

這樣的學習方式,好壞幾乎是與第一種方式反過來的。好處是,能夠學到更專業的用法;壞處是,因爲一會兒要接觸大量新的、和本身風格不一樣的代碼,學習起來比較吃力;在沒有大塊時間或充分的心理準備時,極可能會進行不下去;這也是上週我拖延的緣由。博客

不過,我今天硬着頭皮看代碼,確實是有些收穫。須要指出的一點是,和在開源項目基礎上修改的作法相比,我的三湯五割更好的是新起一個項目,把開源項目中好的、本身用獲得的部分搬過來,並適配本身的代碼風格和慣用法。經過這麼一搬和適配,才能更好地理解、更有可能成爲本身真正的積累。class

博客原文:0408 - 從開源項目中學習基礎

相關文章
相關標籤/搜索