| *完成訂單後正常情形下約兩周可抵台。 *本賣場提供之資訊僅供參考,以到貨標的為正確資訊。 印行年月:202406*若逾兩年請先於私訊洽詢存貨情況,謝謝。 台灣(台北市)在地出版社,每筆交易均開具統一發票,祝您中獎最高1000萬元。 書名:思維整潔之道-編寫與頭腦合拍的卓越代碼 (英文版) ISBN:9787121478536 出版社:電子工業 著編譯者:馬克.西曼 頁數:364 所在地:中國大陸 *此為代購商品 書號:1642164 可大量預訂,請先連絡。 內容簡介 軟體開發既需要理論和科學,也需要經驗和技藝。可惜,一直以來許多圖書只關注前一部分,而忽略了后一部分。馬克的這本書主要關注經驗和技藝。本書既詳細講解了API設計、紅綠重構等常用技術,也演示了如何撰寫提交說明、如何修改單元測試,同時對故障定位、代碼閱讀、團隊合作等傳統上被認為「難以說清」的問題,也給出了實用且精準的建議。難能可貴的是,與其他圖書提供的示例代碼庫不同,本書的示例代碼庫包含了完整的Git提交記錄。也就是說,讀者可以按照作者的步驟,一步一個腳印地重溫整個開發過程。 如果你的經驗還不夠豐富,建議嚴格按照作者的講解,認真讀完全書,掌握軟體工程的技巧。如果你已經有足夠的開發經驗,那麼不妨在速覽全書後,精讀自己不熟悉但感興趣的部分。對自己不認同的部分,也不妨花時間了解作者主張的前因後果,讓自己對許多問題有更全面的認知。 全書以C#為示範語言,但並沒有用到太多C#的專屬特性。面對示例代碼,任何熟悉現代主流面向對象語言的讀者,都可以很容易地理解作者背後的思考。作者簡介 馬克·西曼是一位平庸的經濟學家,於是他改行當了程序員。從20世紀90年代末起,他一直在開發Web和企業應用。馬克年輕的時候想成為搖滾明星,然而不幸的是他既沒有音樂天賦,也沒有搖滾明星的長相——不過陰差陽錯,他現在成了搖滾明星級別的王牌開發者。他寫的一本關於依賴注入的書獲得了Jolt大獎,他還做過100餘場國際會議演講,並給在線教育網站Pluralsight和Clean Coders錄製過視頻課程。從2006年開始,他一直定期更新博客。現在,他和妻子以及兩個孩子一起住在丹麥首都哥本哈根。目錄 推薦序前言 關於作者 第1部分 由慢到快 第1章 是藝術,還是科學 1 1 蓋房子 1 1 1 項目論之誤 1 1 2 階段論之誤 1 1 3 依賴 1 2 培育花園 1 2 1 花園中的植物為何會生長 1 3 工程 1 3 1 作為手工製品的軟體 1 3 2 實用性 1 3 3 軟體工程的早期表述 1 3 4 與軟體工程共同進步 1 4 結論 第2章 檢查清單 2 1 助記工具 2 2 針對新代碼庫的檢查清單 2 2 1 使用Git 2 2 2 自動化構建 2 2 3 顯示所有錯誤消息 2 3 為已有的代碼庫新增檢查規則 2 3 1 漸進式開發 2 3 2 在組織中「便宜行事」 2 4 結論 第3章 控制複雜性 3 1 目標 3 1 1 可持續性 3 1 2 價值 3 2 為何編程是困難的 3 2 1 人腦類比 3 2 2 讀得多、寫得少的代碼 3 2 3 可讀性 3 2 4 腦力勞動 3 3 關於軟體工程 3 3 1 與計算機科學的關係 3 3 2 人性化代碼 3 4 結論 第4章 垂直切片 4 1 從能使用的軟體開始 4 1 1 從數據入口到數據持久化 4 1 2 最小的垂直切片 4 2 活動骨架 4 2 1 特徵測試 4 2 2 預備-執行-斷言 4 2 3 靜態代碼分析的合理尺度 4 3 由外到內 4 3 1 接收JSON 4 3 2 提交預訂請求 4 3 3 單元測試 4 3 4 DTO和領域模型 4 3 5 偽對象 4 3 6 Repository介面 4 3 7 Repository中的Create方法 4 3 8 配置依賴關係 4 4 完成切片 4 4 1 schema 4 4 2 SQL Repository 4 4 3 連接資料庫的配置 4 4 4 冒煙測試 4 4 5 使用偽(Fake)資料庫的邊界測試 4 5 結論 第5章 封裝 5 1 保存數據 5 1 1 代碼改動優先順序的原則 5 1 2 參數化測試 5 1 3 把DTO複製到領域模型中 5 2 驗證 5 2 1 錯誤的日期 5 2 2 紅綠重構 5 2 3 自然數 5 2 4 Postel定律 5 3 保護不變數 5 3 1 恆常有效 5 4 結論 第6章 三角測量 6 1 短期記憶與長期記憶 6 1 1 遺留代碼和記憶 6 2 能力 6 2 1 超訂 6 2 2 惡魔的辯詞 6 2 3 已有的預訂記錄 6 2 4 惡魔的辯詞與紅綠重構 6 2 5 多少測試才算夠 6 3 結論 第7章 分解 7 1 代碼惡化 7 1 1 閾值 7 1 2 圈複雜度 7 1 3 80/24規則 7 2 與思維合拍的代碼 7 2 1 六角花 7 2 2 內聚 7 2 3 依戀情結 7 2 4 類型轉換的代價 7 2 5 解析,而不是驗證 7 2 6 分形架構 7 2 7 清點變數 7 3 結論 第8章 API設計 8 1 API設計原則 8 1 1 預設用法 8 1 2 防錯設計 8 1 3 寫給讀者看的代碼 8 1 4 比起註釋,花更多精力在代碼的命名上 8 1 5 蒙住名字 8 1 6 分離命令與查詢 8 1 7 交流的層次 8 2 API設計實例 8 2 1 領班 8 2 2 與封裝對象交互 8 2 3 實現細節 8 3 結論 第9章 團隊合作 9 1 Git 9 1 1 提交說明 9 1 2 持續集成 9 1 3 小步提交 9 2 代碼的集體所有權 9 2 1 結對編程 9 2 2 團伙編程 9 2 3 代碼審校的延遲 9 2 4 拒絕某個變更集 9 2 5 代碼審校 9 2 6 拉取請求 9 3 結論 第2部分 由快到穩 第10章 充實代碼 10 1 功能標識 10 1 1 日曆標識 10 2 絞殺榕模式 10 2 1 方法層面的絞殺榕 10 2 2 類層面的絞殺榕 10 3 版本管理 10 3 1 事先警告 10 4 結論 第11章 修改單元測試 11 1 重構單元測試 11 1 1 修改安全網 11 1 2 添加新測試代碼 11 1 3 分離對測試代碼和對生產代碼的重構 11 2 見證測試失敗 11 3 結論 第12章 故障排除 12 1 理解 12 1 1 科學方法 12 1 2 簡化 12 1 3 橡皮鴨法 12 2 缺陷 12 2 1 像做測試那樣重現問題 12 2 2 慢速測試 12 2 3 非確定性缺陷 12 3 二分法 12 3 1 用Git完成二分法 12 4 結論 第13章 關注點分離 13 1 組合 13 1 1 嵌套組合 13 1 2 順序組合 13 1 3 引用透明性 13 2 橫切面關注點 13 2 1 日誌 13 2 2 裝飾器 13 2 3 日誌寫什麼 13 3 結論 第14章 節奏 14 詳細資料或其他書籍請至台灣高等教育出版社查詢,查後請於PChome商店街私訊告知ISBN或書號,我們即儘速上架。 |