無瑕的程式碼: 敏捷軟體開發技巧守則

無瑕的程式碼: 敏捷軟體開發技巧守則

出版日期:
2013/03/21
9
580522
查詢門市庫存

內容簡介

本書榮獲iThome年度百大好書推薦

• 本書的原文書名為《Clean Code: A Handbook of Agile Software Craftsmanship》,根據作者的說法,《無瑕的程式碼》為Jolt得獎著作《敏捷軟體開發:原則、樣式及實務》的前傳。

• 在台灣另一本銷售極佳的書籍《重構─改善既有程式的設計》,根據亞馬遜Amazon網站的統計,購買該書原文版《Refactoring: Improving the Design of Existing Code》,又同時購買的其他書籍第一名,正是《Clean Code: A Handbook of Agile Software Craftsmanship》這一本書。

• 第一章
作者開宗明義說明什麼是Clean Code,
他詢問了包含C++發明人Bjarne Stroustrup、Eclipse策略教父Dave Thomas、極限程式設計大師Ron Jeffries、維基與極限程式設計發明人,Ward Cunningham等等的大師,
從他們的眼光來描述什麼是Clean Code,最後才說到作者本人認為的Clean Code應該長成什麼樣子,有什麼好處,以及學習撰寫Clean Code的基本原則。
• 小編只能說,能和那麼多大師對談,就已經證明了作者也是一位大師

其餘部分本書分成三部份。  

• 第一部份
包含有許多章節,這些章節將描述撰寫clean code的原則、模式及實踐,這些章節包含了不少的程式碼篇幅,閱讀它們頗具有挑戰性。這些章節替你準備好閱讀第二部份所需的背景知識。

• 第二部份
這裡包含許多複雜性不斷增加的案例討論。在這個部分,作者會直接帶領您進行整個重構的過程,每次的修改,作者都會說明原因,重構的對象並不僅止於一般的程式,甚至還包含了著名的框架,例如JUnit(哇!把開放原始碼框架拿來重構,真酷)。

• 第三部份
終於到了成果收割的時候。最後一章列出了案例討論時搜集到的程式啟發和氣味。在案例討論裡走過和清理程式碼時,紀錄了每個行為的原因,並整理成一種程式啟發或氣味,成了一個知識庫,這個知識庫可以說是整本書的精華與交互參照。
展開看更多

產品目錄

第1章  無瑕的程式碼      (Clean Code)

第2章  有意義的命名      (Meaningful Names)

第3章  函式          (Functions)

第4章  註解          (Comments)

第5章  編排          (Formatting)

第6章  物件及資料結構     (Objects and Data Structures)

第7章  錯誤處理        (Error Handling)

第8章  邊界          (Boundaries)

第9章  單元測試        (Unit Tests)

第10章  類別         (Classes)

第11章  系統         (Systems)

第12章  羽化         (Emergence)

第13章  平行化        (Concurrency)

第14章  持續地精煉      (Successive Refinement)

第15章  JUnit 的內部結構    (JUnit Internals)

第16章  重構SerialDate      (Refactoring SerialDate)

第17章  程式碼的氣味和啟發  (Smells and Heuristics)



附錄 A  平行化之二      (Concurrency II)

附錄 B  org.jfree.date.SerialDate (第16章,重構的目標與結果)

附錄 C  啟發的相互參照    (Cross References of Heuristics)

作者介紹

■作者簡介

Robert C. Martin
人稱Uncle Bob,程式設計經驗超過40年,Agile Software(敏捷軟體開發)的提倡者之一。創立Object Mentor,這是一間專注於C ++、Java物件導向、模式、UML、敏捷方法學和極限程式設計的顧問諮詢公司。

在這些領域,作者撰寫了相當多的名著,其中,又以獲得有IT奧斯卡獎之稱──Jolt震撼年度大獎的

《Agile Software Development: Principles, Patterns, and Practices》

《敏捷軟體開發:原則、樣式及實務》

最為知名。該得獎年度,Jolt僅頒布通用類、技術類各一本著作得獎,通用類由此書獲得大獎,而技術類書籍則由另一本廣為人知的《Thinking in Java(第三版)》獲得。

規格

誠品貨碼 / 2680763422004
ISBN13 / 9789862017050
ISBN10 / 9862017058
EAN貨碼 / 9789862017050
頁數 / 480
注音版 / 否
裝訂 / P:平裝
語言 / 1:中文/繁體
尺寸 / 18.5X23CM
級別 / N:無

退貨說明

退貨須知:

  1. 依照消費者保護法的規定,您享有商品貨到次日起七天猶豫期(含例假日)的權益(請注意!猶豫期非試用期),辦理退貨之商品必須是全新狀態(不得有刮傷、破損、受潮)且需完整(包含全部商品、配件、原廠內外包裝、贈品及所有附隨文件或資料的完整性等)。
  2. 請您以送貨廠商使用之包裝紙箱將退貨商品包裝妥當,若原紙箱已遺失,請另使用其他紙箱包覆於商品原廠包裝之外,切勿直接於原廠包裝上黏貼紙張或書寫文字。若原廠包裝損毀將可能被認定為已逾越檢查商品之必要程度,本公司得依毀損程度扣除回復原狀必要費用(整新費)後退費;請您先確認商品正確、外觀可接受,再行拆封,以免影響您的權利;若為產品瑕疵,本公司接受退貨。

依「通訊交易解除權合理例外情事適用準則」,下列商品不適用七日猶豫期,除產品本身有瑕疵外,不接受退貨:

  1. 易於腐敗、保存期限較短或解約時即將逾期。(如:生鮮蔬果、乳製品、冷凍冷藏食材、蛋糕)
  2. 依消費者要求所為之客製化給付。(如:客製印章、鋼筆刻字)
  3. 報紙、期刊或雜誌。
  4. 經消費者拆封之影音商品或電腦軟體。
  5. 非以有形媒介提供之數位內容或一經提供即為完成之線上服務,經消費者事先同意始提供。(如:電子書)
  6. 已拆封之個人衛生用品。(如:內衣褲、襪類、褲襪、刮鬍刀、除毛刀等貼身用品)
  7. 國際航空客運服務。

若您退貨時有下列情形,可能被認定已逾越檢查商品之必要程度而須負擔為回復原狀必要費用(整新費),或影響您的退貨權利,請您在拆封前決定是否要退貨:

  1. 以數位或電磁紀錄形式儲存或著作權相關之商品(包含但不限於CD、VCD、DVD、電腦軟體等) 包裝已拆封者(除運送用之包裝以外)。
  2. 耗材(包含但不限於墨水匣、碳粉匣、紙張、筆類墨水、清潔劑補充包等)之商品包裝已拆封者(除運送用之包裝以外)。
  3. 衣飾鞋類/寢具/織品(包含但不限於衣褲、鞋子、襪子、泳裝、床單、被套、填充玩具)或之商品缺件(含購買商品、附件、內外包裝、贈品等)或經剪標或下水或商品有不可回復之髒污或磨損痕跡。
  4. 食品、美容/保養用品、內衣褲等消耗性或個人衛生用品、商品銷售頁面上特別載明之商品已拆封者(除運送用之包裝外一切包裝、包括但不限於瓶蓋、封口、封膜等接觸商品內容之包裝部分)或已非全新狀態(外觀有刮傷、破損、受潮等)與包裝不完整(缺少商品、附件、原廠外盒、保護袋、配件紙箱、保麗龍、隨貨文件、贈品等)。
  5. 家電、3C、畫作、電子閱讀器等商品,除商品本身有瑕疵外,退回之商品已拆封(除運送用之包裝外一切包裝、包括但不限於封膜等接觸商品內容之包裝部分、移除封條、拆除吊牌、拆除貼膠或標籤等情形)或已非全新狀態(外觀有刮傷、破損、受潮等)與包裝不完整(缺少商品、附件、原廠外盒、保護袋、配件紙箱、保麗龍、隨貨文件、贈品等)。
  6. 退貨程序請參閱【客服專區→常見問題→誠品線上退貨退款】之說明。
付款/配送

作者相關書籍