作品介紹

推薦給菜鳥的編程書


作者:著名作家     整理日期:2022-07-17 11:50:21

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


面向?qū)ο笤O(shè)計實踐指南:Ruby語言描述

  推薦給菜鳥的編程書

作者 Sandi Metz

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


企業(yè)應(yīng)用架構(gòu)模式

  推薦給菜鳥的編程書

作者 Martin Fowler

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

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


重構(gòu):改善既有代碼的設(shè)計

  推薦給菜鳥的編程書

作者 Martin Fowler

這本書也是由 Martin Fowler 編寫的。它給重構(gòu)下了一個準(zhǔn)確的定義:

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

這本書還介紹了,重構(gòu)是如何融入通常的軟件開發(fā)過程中的:

使用重構(gòu)來開發(fā)軟件,需要把時間分為兩個部分:添加功能和重構(gòu)。添加的新功能時,不應(yīng)該改變現(xiàn)有的代碼;你只是添加新的功能。

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


領(lǐng)域驅(qū)動設(shè)計——軟件核心復(fù)雜性應(yīng)對之道

  推薦給菜鳥的編程書

作者 Eric Evans

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

作者在程序員和領(lǐng)域?qū)<抑g編造的蘇格拉底式對話也有助于我們理解。有人認(rèn)為,在一個理想的世界中,一個產(chǎn)品經(jīng)理可以在開發(fā)者和利益相關(guān)者之間傳話。而在真實的世界中,你(作為開發(fā)者)對于表達(dá)軟件的功能和局限也負(fù)有最終的責(zé)任,這本書展示類似的應(yīng)該是什么樣子。

這四本書每一本都有各自的價值——你不僅能學(xué)到書里的知識,還能學(xué)會如何思考面臨的問題。這些書都遵循著同樣的結(jié)構(gòu):提出問題,然后給出解決方案。將問題和解決方法聯(lián)系起來,能夠看清如何解決的整個過程,最終學(xué)會如何處理其他問題。





上一本:心里難過的時候看這7本書,讓人心生暖意 下一本:你個死拖延癥患者,7本自我管理的書來救你

作家文集

下載說明
推薦給菜鳥的編程書的作者是著名作家,全書語言優(yōu)美,行文流暢,內(nèi)容豐富生動引人入勝。為表示對作者的支持,建議在閱讀電子書的同時,購買紙質(zhì)書。

更多好書