為您推薦
類似書籍推薦給您
書名:無瑕的程式碼:整潔的軟體設計與架構篇 作者:Robert C. Martin 出版社:博碩 出版日期:5/15/2018 條碼:9789864342945 內容簡介 工程師︰我已經拜讀了《Clean Code》,還有必要讀《Clean Architecture》嗎? 架構師︰喔,你會做磚頭,那你會蓋房子嗎? 將近10年的等待,全球知名作家Uncle Bob終於推出新作品《Clean Architecture》,由書名很容易就能猜到,這本書和《Clean Code》一定有關。沒錯,這兩本書是有些相同,但又有很大的不同。相同之處在於,這兩本書都是在教導軟體工程師如何正確開發出好的軟體,甚至兩本書提到的原則名稱有些還是相同的。不同之處在於,即便是相同的原則,但在不同層次上使用時,要注意的地方截然不同。 總結來說,好的軟體系統始於整潔的程式碼(clean code),但光是這樣還不夠。也就是說,如果磚塊做得不好,那麼建築物的架構也就不重要了。但就另一方面來說,你也能用精心製作的磚塊來製造大量的垃圾,這本書就是要避免你製造垃圾。 因此,除了閱讀《Clean Code》之外,你還需要閱讀《Clean Architecture》! 再次地,Robert C. Martin以大師強而有力的口吻,極具說服力的文字來撰寫這本書,透過這本書教您如何建構好軟體的架構,釐清什麼是架構,以及認清獨立部署和獨立開發的重要性。如果您想開發的是企業級的軟體,那就千萬不可錯過這本書。 本書將徹底顛覆您的許多觀點,例如微服務是個架構嗎?C語言沒有多型嗎(多型是物件導向發明的嗎)?C語言和C++的封裝相比,誰比較完美?軟體是數學還是科學?什麼是測試的本質?你應該使用框架嗎?關聯式資料庫為何會流行,是否已日暮途窮了呢?你可以先試著回答這些問題,然後在閱讀本書之後,再次審思這些問題,相信大多數的人,要答對一半都很困難。 如果您自許成為一位專業的軟體工程師,強烈建議您,一定要好好詳讀這本書。 讀者評論 架構代表了塑造系統的「重要」設計決策,有多「重要」則是由因應變化的成本來衡量的。 Grady Booch ──《Object-Oriented Analysis and Design with Applications》作者 如果你認為好架構的代價是昂貴的,那不妨試試糟糕的架構。 Brian Foote and Joseph Yoder ──《Pattern Languages of Program Design 4》作者 架構是你希望在專案早期就能得到的決定,但你並不一定能比其他任何時候更容易得到它們。 Ralph Johnson ──《Design Patterns: Elements of Reusable Object-Oriented Software》作者 架構是一個假設,需要透過實作和度量來證明。 Tom Gilb ──《Competitive Engineering: A Handbook For Systems Engineering, Requirements Engineering, and Software Engineering Using Planguag》作者 走得快的唯一方法就是走得好。 Robert C. Martin── 軟體大師,《Clean Code》、《無瑕的程式碼》系列書作者, 會做磚頭有什麼了不起,會蓋房子才厲害。 《博碩文化》、《名家名著》 總編輯 ── 陳錦輝 作者介紹 作者簡介 Robert C. Martin 人稱Uncle Bob,程式設計經驗超過40年,Agile Software(敏捷軟體開發)的提倡者之一。創立Object Mentor,這是一間專注於C++、Java物件導向、模式、UML、敏捷方法學和極限程式設計的顧問諮詢公司。 在這些領域,作者撰寫了相當多的名著,並獲得有IT奧斯卡獎之稱──Jolt震撼年度大獎。其中,最暢銷的是《Clean Code》(中文版為無瑕的程式碼),為Amazon該類別的暢銷榜首,也被國內公認為程式設計師必讀的一本書。 目錄 Part I 簡介 Chapter 1 什麼是設計與結構 Chapter 2 兩種價值觀的故事 Part II 從基礎開始:程式設計範式 Chapter 3 範式概述 Chapter 4 結構化程式設計 Chapter 5 物件導向程式設計 Chapter 6 函數式程式設計 Part III 設計原則 Chapter 7 SRP:單一職責原則 Chapter 8 OCP:開放-封閉原則 Chapter 9 LSP:Liskov 替換原則 Chapter 10 ISP:介面隔離原則 Chapter 11 DIP:依賴反向原則 Part IV 元件原則 Chapter 12 元件 Chapter 13 元件內聚性 Chapter 14 元件耦合性 Part V 架構 Chapter 15 什麼是架構 Chapter 16 獨立性 Chapter 17 邊界:畫線 Chapter 18 邊界剖析 Chapter 19 策略和層級 Chapter 20 業務規則 Chapter 21 會尖叫的架構 Chapter 22 整潔的架構 Chapter 23 Presenter 與Humble Object Chapter 24 部分邊界 Chapter 25 層與邊界 Chapter 26 主元件 Chapter 27 服務:偉大與微小 Chapter 28 測試邊界 Chapter 29 整潔的嵌入式架構 Part VI 細節 Chapter 30 資料庫是細節 Chapter 31 Web是細節 Chapter 32 框架是細節 Chapter 33 案例研究:影片販售 Chapter 34 遺漏的章節 Part VII 附錄 Appendix A 架構考古學
類似書籍推薦給您
【簡介】 無瑕的程式碼 函數式設計篇:原則、模式與實踐 Functional Design: Principles, Patterns, and Practices ❝《無瑕的程式碼 函數式設計篇》不是單純的函數式程式設計教科書,而是一場從原則到實踐的深度對話。對於渴望持續進步的程式設計師而言,它帶來的不僅是技術知識,還有一種重新審視與平衡開發思維的啟示。❞────微軟最有價值專家(Microsoft MVP) 陳傳興(Bruce Chen) 專文推薦 ❝乍看之下,物件導向和函數式這兩種範式似乎互不相容,一個強調資料抽象與封裝狀態,另一個則倡導不可變與純函數。事實上,即便兩者出發點不同,卻能在合適的脈絡下融為一體,互相補足,最終協助我們打造更強韌、更具表達力的軟體系統。對一位想要同時掌握物件導向與函數式思維的工程師來說,如何在日常工作中權衡並結合這兩種做法,正是本書所提出的關鍵挑戰與寶貴建議。❞────微軟最有價值專家(Microsoft MVP)|本書譯者 張立顗(Poy Chang) ❝Uncle Bob精心展示了函數式設計,這是當今軟體開發中極為流行且高效的設計方式。透過深入的原則和實踐案例,本書不僅適合軟體開發者,也對任何追求卓越程式品質的專業人士都具有極高的實用價值。Uncle Bob的洞見和清晰的寫作風格使這本書成為了一本不可多得的學習資源。❞────博碩文化總編輯 & CEO CSM 陳錦輝(Simon) ❝在閱讀《無瑕的程式碼 函數式設計篇:原則、模式與實踐》之後,我多麼希望無論是過去還是現在,無論是在學習階段身為學生,還是在工作階段成為專業人士,我都能擁有本書的陪伴。本書散發著「問世即經典」的魅力,它讀起來就像是特別為專業軟體開發者而寫的。❞────Janet A. Carr,Clojure獨立顧問 一本精通函數式程式設計的實用指南,寫出更優雅、更整潔的程式碼! 在本書中,世界級軟體開發傳奇大師、暢銷書《Clean Code》的作者Robert C. Martin(Uncle Bob)將深入解說,為何要使用函數式程式設計(functional programming),以及如何運用函數式設計來建置更符合實際需求的系統。Uncle Bob將比較傳統的物件導向程式設計(如Java)與函數式語言(如Clojure)所採用的結構,並指出各自的最佳應用場景。他將展示如何在不同的情境下,明智地選擇合適且合理的做法,來建置更優秀、更優雅的系統。 Uncle Bob不僅手法務實,他還將理論簡化,把重點放在「實戰」與「解決問題」的具體做法。透過簡單易懂的範例,開發者將發現,容易學習且語意豐富的Clojure語言,如何幫助他們提升程式碼的整潔度、品質、開發紀律與效率。Uncle Bob還將從函數式程式設計的角度,深入探討廣為人知的SOLID原則與「四人幫」設計模式,解釋這些模式對於函數式程式設計師的價值,並指導讀者如何利用它們來實現更卓越的成果。 【內容亮點】 ・理解函數式程式設計的基本概念:不可變性、持久性資料、遞迴、迭代、延遲、狀態性 ・透過精心設計的案例研究,比較函數式方法與物件導向方法 ・探索資料流的函數式設計技巧 ・使用經典的SOLID原則來編寫更好的Clojure程式碼 ・精通函數式測試、GUI與並行的實用方法 ・在函數式環境中充分發揮設計模式的作用 ・逐步建置企業級的Clojure應用程式 【下載範例程式檔案】 github.com/unclebob/FunctionalDesign 【目錄】 獻辭 推薦序一|Janet A. Carr 推薦序二|陳傳興(Bruce Chen) 譯者序 |張立顗(Poy Chang) 前言 謝辭 關於作者 關於譯者 Part I:函數式基礎 第1章:不可變性 什麼是函數式程式設計? 指派的問題 為什麼稱它為函數式呢? 沒有狀態改變嗎? 不可變性 第2章:持久性資料 關於暗渡陳倉 製作副本 結構共享 第3章:遞迴與迭代 迭代 遞迴 第4章:延遲 延遲累積 為何需要延遲? 尾聲 第5章:狀態性 何時必須變更 軟體交易記憶體(STM) 人生艱難,軟體更難 PART II:比較分析 第6章:質因數 Java版本 Clojure版本 小結 第7章:保齡球比賽 Java版本 Clojure版本 小結 第8章:聊八卦的公車司機 Java版本 Clojure版本 小結 第9章:物件導向程式設計 函數式薪水支付案例 命名空間與原始檔 小結 第10章:型別 小結 PART III:函數式設計 第11章:資料流 第12章:SOLID 單一職責原則(SRP) 開放封閉原則(OCP) 里氏替換原則(LSP) 介面隔離原則(ISP) 依賴反轉原則(DIP) PART IV:函數式實用主義 第13章:測試 REPL Mock 性質導向測試 診斷技術 函數式 第14章:GUI 用Quil畫烏龜 第15章:並行 小結 PART V:設計模式 第16章:回顧設計模式 函數式的設計模式 抽象伺服器模式 轉接器模式 命令模式 組合模式 裝飾模式 訪問者模式 抽象工廠模式 小結 後記:OO是毒藥嗎? PART VI:案例研究 第17章:Wa-Tor 心癢難耐 解決難題 瘋狂繁殖 鯊魚呢? 小結 後記
類似書籍推薦給您
【簡介】 [名家名著] 000 做得好、做得對,才能做得快! 是時候該回歸正宗的敏捷了! Uncle Bob帶領讀者進入時光隧道檢視永不褪色的敏捷初心 搞笑談軟工Teddy Chen專文推薦 獻給新世代的敏捷價值和原則 《敏捷宣言》發表近二十年後,世界級軟體開發傳奇大師Robert C. Martin(Uncle Bob)再次執筆,為新世代軟體從業人員重新講述敏捷的價值觀與原則,無論你是程式設計師或非程式設計師,都能從本書中得到啟發和反思。Uncle Bob著有《無瑕的程式碼》等極具影響力的軟體開發書籍,他也是敏捷最初的發起人之一。如今,在《無瑕的程式碼 敏捷篇:還原敏捷真實的面貌》這本書中,他將澄清多年來人們對敏捷的誤用和誤解,重述敏捷的初心與願景。 Uncle Bob清楚說明了敏捷的本質:它是一個小小的紀律,協助小型的軟體團隊管理小型的專案……但它卻為整個產業帶來了巨大的影響,因為所有的大型專案都是由許多個小型專案組成的。他將細數自己五十年來的所見所聞及親身經歷,透過平易近人的文字還原敏捷的真實樣貌,並解讀敏捷如何協助軟體從業人員提升整體的專業水準。 你將從本書學會: ✦還原敏捷真實的面貌:敏捷的過去、現狀,以及它永遠的堅持 ✦理解Scrum的起源,以及正確的實踐 ✦精通敏捷業務實踐的精髓,從小型發布到驗收測試,再到完整團隊的溝通 ✦探索敏捷團隊成員之間的關係,以及他們與產品之間的關係 ✦重現不可或缺的敏捷技術實踐:TDD、重構、簡潔設計和結對程式設計 ✦理解敏捷價值與軟體工藝的重要性地位,以及它們如何讓敏捷團隊邁向成功 ✦來自Jerry Fitzpatrick、Tim Ottinger、Jeff Langr、Eric Crichlow、Damon Poole及Sandro Mancuso的專家級分享 如果你想要獲得敏捷的真正好處,你沒有任何捷徑可走:你必須把敏捷做「對」。無論你是開發人員、測試人員、專案經理或客戶,《無瑕的程式碼 敏捷篇:還原敏捷真實的面貌》都會告訴你如何把敏捷做「好」。 Clean Agile 的名人讚譽 在讓一切成為敏捷的旅途中,Uncle Bob 老早就熟門熟路,不管什麼好的壞的都經歷過。在這本讀來愉悅的書中,有一部分是歷史,有一部分是個人的故事,整本書都是智慧的累積。如果你想了解敏捷是什麼,以及它是如何形成今日的敏捷,你一定要閱讀這本書。 ——Grady Booch Uncle Bob 在書中的每一句話都塗上失望的色彩,但這完全是合情合理的。敏捷開發世界的現況,遠遠比不上它應該達到的模樣。Uncle Bob 在本書中分享了他的觀點,只要聚焦在某些事項上就能夠還原敏捷應該呈現的面貌。他是這方面的過來人,所以他的想法值得我們傾聽。 ——Kent Beck 閱讀Uncle Bob 對敏捷的看法是一件很享受的事。無論是初學者,或是經驗豐富的敏捷實踐者,你都應該閱讀本書。我幾乎同意書中的所有內容。只是有些地方會讓我意識到自己的缺點,真氣人。它讓我再次細心檢查我的程式碼覆蓋率(85.09%)。 ——Jon Kern 本書提供了一個歷史的回顧鏡頭,讓我們可以更全面、更準確地檢視敏捷開發。Uncle Bob 是我見過最聰明的人之一,他對程式設計有無限的熱情。如果有人能夠揭開敏捷開發的神秘面紗,那就是他了。 ——摘自Jerry Fitzpatrick 所寫的前言(Foreword) 本書重新提醒我們:「需要寫程式的敏捷到底是什麼!」 ——搞笑談軟工Teddy Chen專文推薦 這是一本真正告訴你,什麼是「真正的敏捷」的書籍。由《敏捷宣言》參與者之一的Bob 大叔來告訴你,最純粹的「敏捷」是什麼?他們當年認為的「敏捷」真義是什麼? 《敏捷宣言》至今約二十年,在這期間,有許多打著敏捷旗號的人們做的並非敏捷的事,甚至還有某些技術號稱是敏捷的一種,但卻根本違反了「敏捷」的真義。這使得本書作者不得不出版本書,以正視聽。 ——博碩文化總編輯 陳錦輝 【目錄】 推薦序 譯者序 編輯審校序 序 致謝 關於作者 Chapter 1 敏捷簡介 敏捷的歷史 雪鳥 ▶雪鳥會議之後 敏捷概述 ▶鐵十字 ▶牆上的圖表 ▶你最先知道的事 ▶會議 ▶分析階段 ▶設計階段 ▶實作階段 ▶死亡行軍階段 ▶誇大其詞? ▶更好的方法 ▶迭代0(Iteration Zero) ▶敏捷產生數據 ▶幻想與管理 ▶管理鐵十字 ▶更改時程表 ▶增加人手 ▶降低品質 ▶改變範圍 ▶業務價值排序 ▶概述在此結束 生命之環 小結 Chapter 2 選擇敏捷的理由 專業素養 ▶軟體無所不在 ▶我們主宰了世界 ▶災難 合理的期望 ▶我們不會推出垃圾產品! ▶持續的技術準備 ▶穩定的生產力 ▶花費不多的適應性 ▶持續的改進 ▶膽大無畏的才能 ▶QA 應該找不到任何問題 ▶測試自動化 ▶我們彼此Cover ▶誠實的估算 ▶你必須說「不」 ▶持續的主動學習 ▶教導 權利宣言 ▶客戶權利宣言 ▶開發人員權利宣言 ▶客戶們 ▶開發人員們 小結 Chapter 3 業務實踐 規畫 ▶三元分析 ▶故事和故事點數 ▶ATM 的故事 ▶故事 ▶故事估算 ▶管理迭代 ▶Demo ▶速率 小型發布 ▶原始碼控制的簡史 ▶磁帶 ▶磁碟與SCCS ▶Subversion ▶Git 與測試 驗收測試 ▶工具和方法論 ▶行為驅動開發 ▶實踐 完整團隊 ▶同一個地點 小結 Chapter 4 團隊實踐 隱喻 ▶領域驅動設計 穩定步調 ▶超時工作 ▶馬拉松 ▶奉獻 ▶睡眠 集體所有權 ▶X 檔案 持續整合 ▶然後是持續建置 ▶持續建置的紀律 站立會議 ▶豬或雞? ▶公開致謝 小結 Chapter 5 技術實踐 測試驅動開發 ▶複式簿記 ▶TDD 的三個規則 ▶Debug ▶文件 ▶樂趣 ▶完整性 ▶設計 ▶勇氣 重構 ▶紅燈/綠燈/重構 ▶大幅度的重構 簡潔設計 ▶設計重量 結對程式設計 ▶什麼是結對? ▶為什麼要結對? ▶使用結對作為程式碼審查 ▶結對的成本? ▶只能有兩個人嗎? ▶管理 小結 Chapter 6 成為敏捷 敏捷的價值觀 ▶勇氣 ▶溝通 ▶回饋 ▶簡單 珍禽異獸博物館 轉型 ▶詭計(Subterfuge) ▶幼獅 ▶哭聲 ▶寓意 ▶假裝 ▶在更小的組織中取得成功 ▶個人的成功與遷移 ▶建立敏捷組織 教練(Coaching) ▶Scrum Master 認證 ▶真正的認證 大規模的敏捷(Agile in the Large) 敏捷工具 ▶軟體工具 ▶什麼才是有效率的工具? ▶實體的敏捷工具 ▶自動化的壓力 ▶非窮人使用的ALM 工具 教練(Coaching) —— 另一個視角 ▶條條大路通敏捷 ▶從流程專家到敏捷專家 ▶將教練技術引入敏捷團隊 ▶超越ICP-ACC ▶教練工具 ▶只有專業教練技術是不夠的 ▶在多個團隊的環境中做敏捷教練的工作 ▶大規模的敏捷(Agile in the Large) ▶使用敏捷和教練技術來變得敏捷 ▶敏捷導入的成長 ▶大處著眼,小處著手 ▶敏捷教練的未來 小結(Uncle Bob 回來啦) Chapter 7 軟體工藝 敏捷的宿醉 不符合期望 走向殊途 軟體工藝 意識形態與方法論 軟體工藝也有實踐嗎? 關注價值,而非實踐 關於實踐的討論 工藝對個人的影響 工藝對產業的影響 工藝對公司的影響 工藝與敏捷 小結 Chapter 8 結論 後記
資訊
工程
數學與統計學
機率與統計
自然科學
健康科學
地球與環境
建築、設計與藝術
人文與社會科學
教育
語言學習與考試
法律
會計與財務
大眾傳播
觀光與休閒餐旅
考試用書
研究方法
商業與管理
經濟學
心理學
生活
生活風格商品
參考書/測驗卷/輔材