*完成訂單後正常情形下約兩周可抵台。 *本賣場提供之資訊僅供參考,以到貨標的為正確資訊。 印行年月:202411*若逾兩年請先於私訊洽詢存貨情況,謝謝。 台灣(台北市)在地出版社,每筆交易均開具統一發票,祝您中獎最高1000萬元。 書名:軟件設計的哲學 (第2版) ISBN:9787115655615 出版社:人民郵電 著編譯者:約翰.奧斯特豪特 頁數:220 所在地:中國大陸 *此為代購商品 書號:1688670 可大量預訂,請先連絡。 內容簡介 本書深入探討了軟體設計中的核心問題:如何將複雜的軟體系統分解為可以相對獨立實現的模塊(例如類和方法),從而降低其複雜性並提高開發效率。本書首先介紹了軟體設計中的基本問題,即複雜性的本質。其次,討論了有關如何處理軟體設計過程的「哲學」問題,如通用設計的重要性、與《代碼整潔之道》中設計哲學的對比,以及如何將重要的東西和不重要的東西區分開等內容。最後,總結了在軟體設計過程中應遵循的一系列設計原則,以及一系列識別設計問題的警示信號。 本書適合軟體工程師、計算機科學專業的學生、教育者、對軟體設計和開發感興趣的自學者和技術管理者閱讀。通過應用本書中的思想,讀者可以最大限度地降低大型軟體系統的複雜性,從而更快地以更低的成本編寫軟體,並構建更易於維護和增強的系統。作者簡介 王海鵬,獨立諮詢顧問、培訓講師、譯者和軟體開發者,1994年畢業於華東師範大學。他擁有20餘年編程經驗,目前主要的研究領域是演算法交易,對各種新技術都有興趣,已翻譯20餘本軟體開發類圖書。目錄 第1章 導言1 1 如何使用本書 第2章 複雜性的本質 2 1 複雜性的定義 2 2 複雜性的表現 2 3 複雜性的原因 2 4 複雜性是增量的 2 5 結論 第3章 能工作的代碼是不夠的 3 1 戰術性編程 3 2 戰略性編程 3 3 投資多少? 3 4 初創企業與投資 3 5 結論 第4章 模塊應該深 4 1 模塊化設計 4 2 介面包含哪些內容? 4 3 抽象 4 4 深模塊 4 5 淺模塊 4 6 類炎 4 7 示例:Java和UNIX I/O 4 8 結論 第5章 信息隱藏(和泄漏) 5 1 信息隱藏 5 2 信息泄漏 5 3 時序分解 5 4 示例:HTTP伺服器 5 5 示例:類過多 5 6 示例:HTTP參數處理 5 7 示例:HTTP響應中的默認值 5 8 類內的信息隱藏 5 9 過猶不及 5 10 結論 第6章 通用模塊更深 6 1 讓類有點通用 6 2 示例:為編輯器存儲文本 6 3 更通用的API 6 4 通用性帶來更好的信息隱藏 6 5 要問自己的問題 6 6 將專用性向上推(和向下推) 6 7 示例:編輯器撤銷機制 6 8 消除代碼中的特例 6 9 結論 第7章 不同層,不同抽象 7 1 直通方法 7 2 介面重複何時可行? 7 3 裝飾器 7 4 介面與實現 7 5 直通變數 7 6 結論 第8章 降低複雜性 8 1 示例:編輯器文本類 8 2 示例:配置參數 8 3 過猶不及 8 4 結論 第9章 合併好,還是分開好? 9 1 如果共享信息,則合併 9 2 如果可以簡化介面,則合併 9 3 消除重複,則合併 9 4 區分通用代碼和專用代碼 9 5 示例:插入游標和選擇區域 9 6 示例:單獨的日誌類 9 7 拆分和連接方法 9 8 不同意見:《代碼整潔之道》 9 9 結論 第10章 避免處理異常 10 1 為何異常會增加複雜性 10 2 異常太多 10 3 定義錯誤不存在 10 4 示例:Windows中的文件刪除 10 5 示例:Java的substring方法 10 6 異常屏蔽 10 7 異常聚合 10 8 就讓它崩潰 10 9 過猶不及 10 10 結論 第11章 設計兩次 第12章 為什麼要寫註釋?4個借口 12 1 好的代碼自己就是文檔 12 2 我沒有時間寫註釋 12 3 註釋會過時,會產生誤導 12 4 我見過的註釋都沒有價值 12 5 寫好註釋的好處 12 6 不同觀點:註釋就是失敗 第13章 註釋應描述代碼中不明顯的內容 13 1 選擇約定 13 2 不要重複代碼 13 3 低層註釋增加精確度 13 4 高層註釋增強直觀性 13 5 介面文檔 13 6 實現註釋:做什麼和為什麼,而不是怎麼做 13 7 跨模塊設計決策 13 8 結論 13 9 13 5節問題解答 第14章 選擇名稱 14 1 示例:糟糕的名稱會導致缺陷 14 2 塑造形象 14 3 名稱應精確 14 4 一致地使用名稱 14 5 避免多餘的詞 14 6 不同意見:Go風格指南 14 7 結論 第15章 先編寫註釋 15 1 拖延的註釋是糟糕的註釋 15 2 先編寫註釋 15 3 註釋是一種設計工具 15 4 早期註釋是有趣的註釋 15 5 早期註釋是否昂貴? 15 6 結論 第16章 修改現有代碼 16 1 持續使用戰略性編程 16 2 維護註釋:讓註釋靠近代碼 16 3 註釋屬於代碼,而非提交日誌 16 4 維護註釋:避免重複 16 5 維護註釋:檢查差異 16 6 更高層次的註釋更容易維護 第17章 一致性 17 1 一致性的例子 17 2 確保一致性 17 3 過猶不及 17 4 結論 第18章 代碼應顯而易見 18 1 讓代碼更顯而易見 18 2 讓代碼不顯而易見的因素 18 3 結論 第19章 軟體發展趨勢 19 1 面向對象編程和繼承 19 2 敏捷開發 19 3 單元測試 19 4 測試驅動開發 19 5 設計模式 19 6 取值方法和設值方法 19 7 結論 第20章 性能設計 20 1 如何考慮性能 20 2 修改前(后)的度量 20 3 圍繞關鍵路徑進行設計 20 4 示例:RAMCloud的Buffer類 20 5 結論 第21章 確定什麼是重要的 21 1 如何確定什麼是重要的? 21 2 盡量減少重要的東西 21 3 如何強調重要的東西 21 4 錯誤 21 5 更廣泛的思考 第22章 結論 設計原則總結 警示信號總結 詳細資料或其他書籍請至台灣高等教育出版社查詢,查後請於PChome商店街私訊告知ISBN或書號,我們即儘速上架。 |