菜鳥必看的程式設計書籍分享
適合菜鳥看的程式設計書籍有哪些呢?以下是小編分享給大家的關於菜鳥必看的程式設計書籍,希望大家喜歡!
:
1、重構:改善既有程式碼的設計
作者 Martin Fowler
這本書也是由 Martin Fowler 編寫的。它給重構下了一個準確的定義:
有人問我,“難道重構只是清理程式碼?”,在某種程度上,答案是肯定的,但我覺得重構更進了一步,因為它為清理程式碼提供了一個更加高效和更為可控的方式。
這本書還介紹了,重構是如何融入通常的軟體開發過程中的:
使用重構來開發軟體,需要把時間分為兩個部分:新增功能和重構。新增的新功能時,不應該改變現有的程式碼;你只是新增新的功能。
在介紹和定義了重構之後,Fowler 深入講解了一系列重構的例子。從抽取方法這種簡單的開始,然後逐漸深入到類似引入空物件的重構方式。像之前的兩本書一樣,這本書從頭讀到尾也需要花些功夫。
2、領域驅動設計——軟體核心複雜性應對之道
作者 Eric Evans
之前的書籍大多介紹模式,這本書有一條小小的敘事線。一個開發者和一個領域的專家,搭建了一個管理船行程的應用。在這個過程中,從最初的研究階段到實際的編碼過程,你將學到如何把一個領域模型化。我從這本書瞭解到 value types 比 Swift 釋出它的 value types 早了兩年。
作者在程式設計師和領域專家之間編造的蘇格拉底式對話也有助於我們理解。有人認為,在一個理想的世界中,一個產品經理可以在開發者和利益相關者之間傳話。而在真實的世界中,你***作為開發者***對於表達軟體的功能和侷限也負有最終的責任,這本書展示類似的應該是什麼樣子。
這四本書每一本都有各自的價值——你不僅能學到書裡的知識,還能學會如何思考面臨的問題。這些書都遵循著同樣的結構:提出問題,然後給出解決方案。將問題和解決方法聯絡起來,能夠看清如何解決的整個過程,最終學會如何處理其他問題。
3、面向物件設計實踐指南:Ruby語言描述
作者 Sandi Metz
本書作者用修自行車來類比面向物件,從只包含一個方法的物件開始完整地實現Fowler在Refactoring一書中介紹的“用多型模式替換條件表示式”。這本書並不是一下扔給你一大堆概念,而是循序漸進由淺入深地進行講解。
4、企業應用架構模式
作者 Martin Fowler
書名看起來很枯燥,不過此書包含了一系列有用的模式。讀起來就像在實現一個類似於 Ruby on Rails 框架食譜,所以如果說 DHH 在寫 Ruby on Rails 框架之前讀過這本書,我也不會感到驚訝。
這些模式,已被用在 Web 的表單、HTML和資料庫中。前兩類很有趣,資料庫模式還可以用於編寫現代的 iOS 應用。如果你想了解一下類似於 Core Data***或者 ActiveRecord***的 ORM 是如何實現的,那可以看看這本書。比如,Core Data 使用了標識對映、延遲載入、元資料對映和查詢物件等模式。
Linux程式設計經典書籍分享:
1《TCP/IP詳解》
這本也是史蒂文斯的經典傳世之作,從事linux網路程式設計的人,希望提升功力的話,需要好好看看。分為3卷,可以先買第一卷看看,第一卷比較實用。
2《LINUX與UNIX Shell程式設計指南》
在linux下,shell命令是基本的技能,必須非常熟練,而這本書內容非常全面,目錄結構非常清晰,內容相當權威,非國內“教授”所寫的什麼《shell程式設計入門》可比,不過這本書好像已經買不到紙質版了,只能下載到電子版。
3《UNIX環境高階程式設計》
這本書被譽為unix程式設計聖經,作者史蒂文斯是世界權威技術作者。幾乎所有的Linux和Unix從業人員人手一本,任何希望對 Unix/Linux系統有進一步的瞭解的人不能不讀這本書。對老手而言,本書內容權威,可以作為Linux和Unix程式設計的工具書,對於新手來說,也是 一本很好的入門書籍。英文基礎好的建議看英文原版,中文版翻譯的也還好,但是有些地方可能沒有直接看英文版那麼好理解。
4《UNIX網路程式設計》
史蒂文斯的三本經典傳世之作之一,分為卷1和卷2兩本,UNIX網路程式設計的經典之作。