中文字幕在线流畅不卡精品,在线视频综合站,国产精品137页,亚洲制服丝袜中文字幕在

<td id="urspe"></td>
<small id="urspe"><menuitem id="urspe"></menuitem></small><small id="urspe"><sup id="urspe"></sup></small>

  • <small id="urspe"></small>
    <sub id="urspe"><menu id="urspe"><samp id="urspe"></samp></menu></sub>

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

    發(fā)布時間:2017-09-12  編輯:孫彩秀‍ 手機版

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

      壹

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

      作者 Sandi Metz

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

      貳

      企業(yè)應用架構模式

      作者 Martin Fowler

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

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

      叁

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

      作者 Martin Fowler

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

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

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

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

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

      肆

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

      作者 Eric Evans

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

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

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


    相關推薦