當前位置

首頁 > 勵志中心 > 勵志書籍 > 編程菜鳥必看的入門級書籍

編程菜鳥必看的入門級書籍

推薦人: 來源: 閲讀: 2.86W 次

給大家推薦的這些書有很大一部分都是用其他語言如 C、Ruby 或者 Java 寫的,讀這些書可能是個不小的挑戰。還好在大多數情況下,任何編程語言都可以清晰表達編程思想,況且早點培養多語言編程技能也不是一件壞事。

編程菜鳥必看的入門級書籍

 壹

  面向對象設計實踐指南:Ruby語言描述

作者 Sandi Metz

本書作者用修自行車來類比面向對象,從只包含一個方法的對象開始完整地實現Fowler在Refactoring一書中介紹的“用多態模式替換條件表達式”。這本書並不是一下扔給你一大堆概念,而是循序漸進由淺入深地進行講解。

  貳

  企業應用架構模式

作者 Martin Fowler

書名看起來很枯燥,不過此書包含了一系列有用的模式。讀起來就像在實現一個類似於 Ruby on Rails 框架食譜,所以如果説 DHH 在寫 Ruby on Rails 框架之前讀過這本書,我也不會感到驚訝。

這些模式,已被用在 Web 的表單、HTML和數據庫中。前兩類很有趣,數據庫模式還可以用於編寫現代的 iOS 應用。如果你想了解一下類似於 Core Data(或者 ActiveRecord)的 ORM 是如何實現的,那可以看看這本書。比如,Core Data 使用了標識映射、延遲加載、元數據映射和查詢對象等模式。

 叁

  重構:改善既有代碼的設計

作者 Martin Fowler

這本書也是由 Martin Fowler 編寫的。它給重構下了一個準確的定義:

有人問我,“難道重構只是清理代碼?”,在某種程度上,答案是肯定的,但我覺得重構更進了一步,因為它為清理代碼提供了一個更加高效和更為可控的方式。

這本書還介紹了,重構是如何融入通常的軟件開發過程中的:

使用重構來開發軟件,需要把時間分為兩個部分:添加功能和重構。添加的新功能時,不應該改變現有的代碼;你只是添加新的功能。

在介紹和定義了重構之後,Fowler 深入講解了一系列重構的例子。從抽取方法這種簡單的開始,然後逐漸深入到類似引入空對象的重構方式。像之前的兩本書一樣,這本書從頭讀到尾也需要花些功夫。

 肆

  領域驅動設計——軟件核心複雜性應對之道

作者 Eric Evans

之前的書籍大多介紹模式,這本書有一條小小的敍事線。一個開發者和一個領域的專家,搭建了一個管理船行程的應用。在這個過程中,從最初的研究階段到實際的編碼過程,你將學到如何把一個領域模型化。我從這本書瞭解到 value types 比 Swift 發佈它的 value types 早了兩年。

作者在程序員和領域專家之間編造的蘇格拉底式對話也有助於我們理解。有人認為,在一個理想的世界中,一個產品經理可以在開發者和利益相關者之間傳話。而在真實的世界中,你(作為開發者)對於表達軟件的功能和侷限也負有最終的責任,這本書展示類似的應該是什麼樣子。

這四本書每一本都有各自的價值——你不僅能學到書裏的知識,還能學會如何思考面臨的問題。這些書都遵循着同樣的結構:提出問題,然後給出解決方案。將問題和解決方法聯繫起來,能夠看清如何解決的整個過程,最終學會如何處理其他問題。