成為一名優秀的Developer的書單
這是一份關於如何Re-Practise的技術書籍推薦書單。
一直畫/寫一個推薦書單來供大家參考,無奈找不到一本合適的形式。有一天,想到了之前的技術樹 https://github.com/phodal/sherlock,便開始落地了。
我深知自己的知識有限,所以寫下本文以便和大家切磋交流。歡迎通過 GitHub 的Issues或者直接Pull Requests方式來分享你的經驗。期待你的反饋。
基本閱讀路線圖:
首先,你需要選擇一門語言,然後學習之。這時有一些還不錯,如JavaScript實戰,JavaScript Cookbook,前者是一門實站手冊,後者則是參考手冊。再來一本某某語言,或者框架的實戰,與權威指南,你就可以完成工作了。
然後呢?
說明: 完成工作是一件很容易的事,如何更好地完成工作就需要更多地學習。並且我堅信每一個有技術熱情的人,都希望可以看到自己寫的框架可以無處不在。
《技術的本質》 - W. Brain Arthur早已看穿了一切
這是一本關於『技術是什麼,它是如何進化』的書。新的技術是根據於我們當前的目的、一個可實現的原理、一種新現象而發明的。並且,新的技術都是基於之前的技術發展出來的。
So,通過研究現有技術的一些發展,我們可以預料到一些新的技術的出現。儘管新的技術並沒有解決一些根本性問題,如業務,但是它是為了業務而簡化現有的技術。
如何寫好程式碼——重構與設計模式
從編寫可讀的程式碼,到重構現有的程式碼,再到設計模式,是編碼的必備法則。
- 《測試驅動開發》: 儘管在國內,我們很少聽到開發人員寫測試,就更少聽人們談論TDD。雖然我不是TDD的死忠,但是我覺得TDD還是很有好處的。特別是當你的函式特別長的時候,它可以驅使你寫出更短的函式——更多的函式。紅->綠->重構,就是這麼簡單。
- 《重構: 改善既有程式碼的設計》: 紅->綠->重構。如果重構之前沒有測試,我相信你可能是想換個工作了。好的程式碼是重構出來的,而不是一開始就寫出來的——除非你的程式碼不用於任何業務。反正,就是程式設計師必讀,不想多說。
- 《Head First設計模式》: GoF的《設計模式》一書很薄,所以也很抽象。第一次看《設計模式》的時候,硬著頭皮看了幾天,然後放棄了。。。不過,Head First系列可以將各種枯燥的設計生起起來,這是一本非常適合入門設計模式的書籍沒有之一。
- 《設計模式解析》: 比Head First更深入,但是比DP簡單。作者選用了一些常用或者說用到的模式,講述了為什麼在這裡適合用它。
- 《易讀程式碼的藝術/編寫可讀程式碼的藝術》: 納尼!你居然不想買這本書?
- 《程式碼整潔之道》: 書中給了很方法與規範,遵循它們可以寫出整潔的程式碼。但是整潔並不意味著你應該讓程式碼簡單!
- 《重構與模式》: 這本書的中文名字應該叫《重構到模式》!!!重構程式碼到設計模式就這麼簡單。
- 《設計模式》: 必讀,並且值得多讀幾遍。
- 《元素模式》: 首先書名很扯!!!這本書更適合叫《設計模式要素》!這本書提取了設計模式中的一些基本元素,很具有啟發性。
如何寫前端框架——前端讀書路線圖
以JavaScript作為例子來解釋如何去學習一門語言,從語法到最後的MVC。
機器學習讀書路線
機器學習依賴於大量的資料和理論知識,而資料又可以創造出美妙的資料視覺化影像。
持續交付讀書路線圖
敏捷是過去,持續交付是現在,未來呢?
想要構建一個好的專案,構建系統、自動化測試、可配置缺一不可。
領域特定語言讀書路線圖
最好的語言就是可以表達你業務的語言。
如果你熟悉前端的知識的話,你會發現DSL無處不在。
架構與模式讀書路線圖——每個人都是架構師。
成為架構師最簡單的方法就是學習別人的模式。
成為成功架構師便是建立模式。
相關文章
- Python書單|成為一名優秀的Python程式設計師Python程式設計師
- 如何成為一名優秀的移動開發者?移動開發
- 如何成為一名優秀的CTO(技術長)
- 談如何成為一名優秀的前端開發?前端
- 如何成為一名優秀的軟體工程師軟體工程工程師
- Growth: 一個關於如何成為優秀Web Developer 的 AppWebDeveloperAPP
- 如何成為一名優秀的全棧工程師全棧工程師
- 如何成為一名優秀的前端工程師(share)前端工程師
- 《如何成為一名優秀的CEO》演講筆記筆記
- 如何成為一名優秀的web前端工程師Web前端工程師
- 如何成為一名優秀的iOS開發工程師iOS工程師
- 如何在Google成為一名優秀的產品經理?Go
- (核心機密)如何成為一名優秀的專案經理
- UI培訓分享:如何成為一名優秀的UI設計師UI
- 10個習慣助你成為一名優秀的程式設計師程式設計師
- 5 步助你成為一名優秀的 Docker 程式碼貢獻者Docker
- 成為一名優秀網頁設計師的10個建議網頁
- 十步讓你成為一名優秀的Web開發人員Web
- 一名優秀的IT人員
- 成為一名優秀程式設計師(&人類)的 101 個技巧程式設計師
- 一專多能!成為一名強大優秀的全棧設計師吧!全棧
- 如何成為優秀的遠端開發者
- 如何成為一位優秀的ScrumMasterScrumAST
- 乾貨:成為優秀的JAVA工程師必讀的經典書籍Java工程師
- 如何快速成為一名優秀的Python工程師?Python工程師
- 怎樣才能成為一名優秀的軟體開發者 (轉)
- 成為優秀Swift開發者的10條建議Swift
- 成為更優秀開發者的10條途徑
- 做一名優秀的開發者可沒有說的那麼簡單
- 想成為一名優秀的Java工程師,要怎麼做?Java工程師
- 做一名優秀的程式設計師程式設計師
- 10步成為一個優秀的Java開發!Java
- 怎樣成為優秀的後端工程師後端工程師
- 如何成為一個優秀的前端工程師前端工程師
- 如何成為優秀的軟體模型設計者?模型
- 開始學習JAVA,勵志成為一名優秀的工程師Java工程師
- 怎麼成為一個優秀的程式設計師 而不是一個優秀的碼農?程式設計師
- 成為優秀Angular開發者所需要學習的19件事Angular