菜鳥必看的編程書籍分享
適合菜鳥看的編程書籍有哪些呢?以下是學習啦小編分享給大家的關于菜鳥必看的編程書籍,希望大家喜歡!
菜鳥必看的編程書籍分享:
1、重構:改善既有代碼的設計
作者 Martin Fowler
這本書也是由 Martin Fowler 編寫的。它給重構下了一個準確的定義:
有人問我,“難道重構只是清理代碼?”,在某種程度上,答案是肯定的,但我覺得重構更進了一步,因為它為清理代碼提供了一個更加高效和更為可控的方式。
這本書還介紹了,重構是如何融入通常的軟件開發(fā)過程中的:
使用重構來開發(fā)軟件,需要把時間分為兩個部分:添加功能和重構。添加的新功能時,不應該改變現有的代碼;你只是添加新的功能。
在介紹和定義了重構之后,Fowler 深入講解了一系列重構的例子。從抽取方法這種簡單的開始,然后逐漸深入到類似引入空對象的重構方式。像之前的兩本書一樣,這本書從頭讀到尾也需要花些功夫。
2、領域驅動設計——軟件核心復雜性應對之道
作者 Eric Evans
之前的書籍大多介紹模式,這本書有一條小小的敘事線。一個開發(fā)者和一個領域的專家,搭建了一個管理船行程的應用。在這個過程中,從最初的研究階段到實際的編碼過程,你將學到如何把一個領域模型化。我從這本書了解到 value types 比 Swift 發(fā)布它的 value types 早了兩年。
作者在程序員和領域專家之間編造的蘇格拉底式對話也有助于我們理解。有人認為,在一個理想的世界中,一個產品經理可以在開發(fā)者和利益相關者之間傳話。而在真實的世界中,你(作為開發(fā)者)對于表達軟件的功能和局限也負有最終的責任,這本書展示類似的應該是什么樣子。
這四本書每一本都有各自的價值——你不僅能學到書里的知識,還能學會如何思考面臨的問題。這些書都遵循著同樣的結構:提出問題,然后給出解決方案。將問題和解決方法聯系起來,能夠看清如何解決的整個過程,最終學會如何處理其他問題。
3、面向對象設計實踐指南:Ruby語言描述
作者 Sandi Metz
本書作者用修自行車來類比面向對象,從只包含一個方法的對象開始完整地實現Fowler在Refactoring一書中介紹的“用多態(tài)模式替換條件表達式”。這本書并不是一下扔給你一大堆概念,而是循序漸進由淺入深地進行講解。
4、企業(yè)應用架構模式
作者 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環(huán)境高級編程》
這本書被譽為unix編程圣經,作者史蒂文斯是世界權威技術作者。幾乎所有的Linux和Unix從業(yè)人員人手一本,任何希望對 Unix/Linux系統(tǒng)有進一步的了解的人不能不讀這本書。對老手而言,本書內容權威,可以作為Linux和Unix編程的工具書,對于新手來說,也是 一本很好的入門書籍。英文基礎好的建議看英文原版,中文版翻譯的也還好,但是有些地方可能沒有直接看英文版那么好理解。
4《UNIX網絡編程》
史蒂文斯的三本經典傳世之作之一,分為卷1和卷2兩本,UNIX網絡編程的經典之作。
看過"菜鳥必看的編程書籍分享"的人還關注了: