





內容簡介
本書名列中文原創經典第05號
本書為經典名著的最佳實踐
.Clean Code : A Handbook of Agile Software Craftsmanship
.Beautiful Code : Leading Programming Explain How They Think
.The Art of Readable Code
.Design Patterns : Elements of Reusable Object-Oriented Software
.Agile Software Development : Principles, Patterns, and Practices
.Refactoring : Improving The Design of Existing Code
程式碼的可讀性、可擴展性、可測試性是攸關程式碼品質的重要參考指標。本書教您如何寫好程式,分析劣質程式碼所帶來的不愉快經驗,主張採用接近自然語言的方式來書寫程式碼,並針對提升設計能力、英語能力,熟悉開發環境、瞭解程式語言等諸多方面提出相應的具體改善策略。
為什麼寫不出好的程式碼?
.對理論知識瞭解不夠會造成不佳的程式設計習慣,進而帶來潛在的Bug風險。
.受限於舊版本與程式語言的不熟悉,而無法掌握最新的產品特性來書寫更為精煉的程式碼。
.不瞭解設計方法而耗費大量時間,把簡單問題複雜化,重複實作已有完整解決方案的程式碼。
.設計方法不佳造成程式碼的問題,如重複與類似、長方法、複雜分支、類別膨脹。
.對於開發環境不夠熟悉,導致很多方便、快捷的功能沒有獲得良好的利用,如重構技術、外掛程式。
.能掌握的英語單詞量不足、語法不明確、詞性不熟悉等原因,造成程式碼在書寫上與閱讀上的苦惱。
.套用相似案例的快速學習法,使得程式碼未能保持最佳風格,甚至會因思慮不周而讓可讀性變差。
.為了快速完成功能而採用臨時的解決方案,往往留下了技術債務,無法因應系統的變動與修改Bug。
.在任務分配的管理模式下,程式師只是機械式地堆砌程式碼,無法在設計的環節上作全面性的思考。
優質程式碼的参考指標
本書就劣質程式碼產生的技術層面及原因提出了相關分析和探討。但書寫程式碼不僅是技術工作,更是一門藝術學問。好的程式碼應該是讓使用者能夠快速閱讀、容易測試、進行擴展。
程式碼就像是能夠自我表達的語言,如何採用接近自然語言的方式書寫程式碼,就像文章一樣讀起來朗朗上口,一看到程式碼就知道軟體執行什麼工作,那麼對程式碼的理解將不必再依靠繁雜的註解和厚厚的文件,而維護人員也不必擔心程式碼和文件或者註解不一致的問題了,程式碼本身就可以表明其作用。這就是自我表達程式碼(Self-Expressive Code)的概念。
本書為經典名著的最佳實踐
.Clean Code : A Handbook of Agile Software Craftsmanship
.Beautiful Code : Leading Programming Explain How They Think
.The Art of Readable Code
.Design Patterns : Elements of Reusable Object-Oriented Software
.Agile Software Development : Principles, Patterns, and Practices
.Refactoring : Improving The Design of Existing Code
程式碼的可讀性、可擴展性、可測試性是攸關程式碼品質的重要參考指標。本書教您如何寫好程式,分析劣質程式碼所帶來的不愉快經驗,主張採用接近自然語言的方式來書寫程式碼,並針對提升設計能力、英語能力,熟悉開發環境、瞭解程式語言等諸多方面提出相應的具體改善策略。
為什麼寫不出好的程式碼?
.對理論知識瞭解不夠會造成不佳的程式設計習慣,進而帶來潛在的Bug風險。
.受限於舊版本與程式語言的不熟悉,而無法掌握最新的產品特性來書寫更為精煉的程式碼。
.不瞭解設計方法而耗費大量時間,把簡單問題複雜化,重複實作已有完整解決方案的程式碼。
.設計方法不佳造成程式碼的問題,如重複與類似、長方法、複雜分支、類別膨脹。
.對於開發環境不夠熟悉,導致很多方便、快捷的功能沒有獲得良好的利用,如重構技術、外掛程式。
.能掌握的英語單詞量不足、語法不明確、詞性不熟悉等原因,造成程式碼在書寫上與閱讀上的苦惱。
.套用相似案例的快速學習法,使得程式碼未能保持最佳風格,甚至會因思慮不周而讓可讀性變差。
.為了快速完成功能而採用臨時的解決方案,往往留下了技術債務,無法因應系統的變動與修改Bug。
.在任務分配的管理模式下,程式師只是機械式地堆砌程式碼,無法在設計的環節上作全面性的思考。
優質程式碼的参考指標
本書就劣質程式碼產生的技術層面及原因提出了相關分析和探討。但書寫程式碼不僅是技術工作,更是一門藝術學問。好的程式碼應該是讓使用者能夠快速閱讀、容易測試、進行擴展。
程式碼就像是能夠自我表達的語言,如何採用接近自然語言的方式書寫程式碼,就像文章一樣讀起來朗朗上口,一看到程式碼就知道軟體執行什麼工作,那麼對程式碼的理解將不必再依靠繁雜的註解和厚厚的文件,而維護人員也不必擔心程式碼和文件或者註解不一致的問題了,程式碼本身就可以表明其作用。這就是自我表達程式碼(Self-Expressive Code)的概念。
產品目錄
Chapter 1 劣質程式碼帶來的劣質體驗
1.1 程式碼的可讀性問題
1.2 程式碼的可測試性問題
1.3 程式碼的可維護性問題
Chapter 2 劣質程式碼是怎麼產生的
2.1 理論知識匱乏
2.2 對程式語言不熟悉
2.3 對開發環境不熟悉
2.4 對設計方法不瞭解
2.5 程式設計的習慣不佳
2.6 英語能力不足
2.7 管理人員的誤導
Chapter 3 自我表達的程式碼
Chapter 4 理論知識的補充
4.1 物件導向的基礎知識
4.2 設計的基本原則
4.3 圈複雜度
Chapter 5 熟悉程式設計的環境
5.1 儲存動作與自動格式化
5.2 快速修復
5.3 重構
5.4 自動完成
5.5 瀏覽大綱
5.6 Eclipse快速鍵
Chapter 6 程式語言的學習
6.1 註記
6.2 例外
6.3 反射
6.4 泛型
Chapter 7 設計方法的學習
7.1 設計模式
7.2 相依性注入
7.3 Map的妙用
7.4 採用位元遮罩來減少類別的個數
7.5 List處理Z-Order
Chapter 8 英文能力的提升
8.1 詞性
8.2 時態
8.3 語法
8.4 否定詞
8.5 成對詞
8.6 近義詞
8.7 首碼、副檔名
8.8 縮寫
8.9 正確地用詞
Chapter 9 程式設計習慣的改進
9.1 命名方面的改進
9.2 註解方面的改進
9.3 風格方面的改進
9.4 結構方面的改進
9.5 架構方面的改進
Chapter 10 測試程式碼的自我表達改進
10.1 測試程式碼的可讀性
10.2 測試程式碼的可維護性
10.3 測試程式碼的可擴展性
10.4 測試語法
Appendix 參考資料
1.1 程式碼的可讀性問題
1.2 程式碼的可測試性問題
1.3 程式碼的可維護性問題
Chapter 2 劣質程式碼是怎麼產生的
2.1 理論知識匱乏
2.2 對程式語言不熟悉
2.3 對開發環境不熟悉
2.4 對設計方法不瞭解
2.5 程式設計的習慣不佳
2.6 英語能力不足
2.7 管理人員的誤導
Chapter 3 自我表達的程式碼
Chapter 4 理論知識的補充
4.1 物件導向的基礎知識
4.2 設計的基本原則
4.3 圈複雜度
Chapter 5 熟悉程式設計的環境
5.1 儲存動作與自動格式化
5.2 快速修復
5.3 重構
5.4 自動完成
5.5 瀏覽大綱
5.6 Eclipse快速鍵
Chapter 6 程式語言的學習
6.1 註記
6.2 例外
6.3 反射
6.4 泛型
Chapter 7 設計方法的學習
7.1 設計模式
7.2 相依性注入
7.3 Map的妙用
7.4 採用位元遮罩來減少類別的個數
7.5 List處理Z-Order
Chapter 8 英文能力的提升
8.1 詞性
8.2 時態
8.3 語法
8.4 否定詞
8.5 成對詞
8.6 近義詞
8.7 首碼、副檔名
8.8 縮寫
8.9 正確地用詞
Chapter 9 程式設計習慣的改進
9.1 命名方面的改進
9.2 註解方面的改進
9.3 風格方面的改進
9.4 結構方面的改進
9.5 架構方面的改進
Chapter 10 測試程式碼的自我表達改進
10.1 測試程式碼的可讀性
10.2 測試程式碼的可維護性
10.3 測試程式碼的可擴展性
10.4 測試語法
Appendix 參考資料
作者介紹
■作者簡介
王洪亮
從事軟體發展工作12年,有豐富的架構設計和專案管理經驗,熟知英語和日語,熟悉多種平台的開發。曾在多家國際化企業工作,致力於程式碼可讀性、可擴展性、可變性、可測試性方面的研究。是敏捷開發的支持者與實踐者,曾擔任敏捷開發獨立諮詢師為多家企業提供服務,幫助企業建立相關的開發團隊,並為其改進工作方式。同時也對測試驅動開發、演進式設計有一定的實踐經驗。
規格
誠品貨碼 / 2681281864000
ISBN13 / 9789864340873
ISBN10 / 9864340875
EAN貨碼 / 9789864340873
頁數 / 224
注音版 / 否
裝訂 / P:平裝
語言 / 1:中文/繁體
尺寸 / 23X17CM
級別 / N:無
退貨說明
退貨須知:
- 依照消費者保護法的規定,您享有商品貨到次日起七天猶豫期(含例假日)的權益(請注意!猶豫期非試用期),辦理退貨之商品必須是全新狀態(不得有刮傷、破損、受潮)且需完整(包含全部商品、配件、原廠內外包裝、贈品及所有附隨文件或資料的完整性等)。
- 請您以送貨廠商使用之包裝紙箱將退貨商品包裝妥當,若原紙箱已遺失,請另使用其他紙箱包覆於商品原廠包裝之外,切勿直接於原廠包裝上黏貼紙張或書寫文字。若原廠包裝損毀將可能被認定為已逾越檢查商品之必要程度,本公司得依毀損程度扣除回復原狀必要費用(整新費)後退費;請您先確認商品正確、外觀可接受,再行拆封,以免影響您的權利;若為產品瑕疵,本公司接受退貨。
依「通訊交易解除權合理例外情事適用準則」,下列商品不適用七日猶豫期,除產品本身有瑕疵外,不接受退貨:
- 易於腐敗、保存期限較短或解約時即將逾期。(如:生鮮蔬果、乳製品、冷凍冷藏食材、蛋糕)
- 依消費者要求所為之客製化給付。(如:客製印章、鋼筆刻字)
- 報紙、期刊或雜誌。
- 經消費者拆封之影音商品或電腦軟體。
- 非以有形媒介提供之數位內容或一經提供即為完成之線上服務,經消費者事先同意始提供。(如:電子書)
- 已拆封之個人衛生用品。(如:內衣褲、襪類、褲襪、刮鬍刀、除毛刀等貼身用品)
- 國際航空客運服務。
若您退貨時有下列情形,可能被認定已逾越檢查商品之必要程度而須負擔為回復原狀必要費用(整新費),或影響您的退貨權利,請您在拆封前決定是否要退貨:
- 以數位或電磁紀錄形式儲存或著作權相關之商品(包含但不限於CD、VCD、DVD、電腦軟體等) 包裝已拆封者(除運送用之包裝以外)。
- 耗材(包含但不限於墨水匣、碳粉匣、紙張、筆類墨水、清潔劑補充包等)之商品包裝已拆封者(除運送用之包裝以外)。
- 衣飾鞋類/寢具/織品(包含但不限於衣褲、鞋子、襪子、泳裝、床單、被套、填充玩具)或之商品缺件(含購買商品、附件、內外包裝、贈品等)或經剪標或下水或商品有不可回復之髒污或磨損痕跡。
- 食品、美容/保養用品、內衣褲等消耗性或個人衛生用品、商品銷售頁面上特別載明之商品已拆封者(除運送用之包裝外一切包裝、包括但不限於瓶蓋、封口、封膜等接觸商品內容之包裝部分)或已非全新狀態(外觀有刮傷、破損、受潮等)與包裝不完整(缺少商品、附件、原廠外盒、保護袋、配件紙箱、保麗龍、隨貨文件、贈品等)。
- 家電、3C、畫作、電子閱讀器等商品,除商品本身有瑕疵外,退回之商品已拆封(除運送用之包裝外一切包裝、包括但不限於封膜等接觸商品內容之包裝部分、移除封條、拆除吊牌、拆除貼膠或標籤等情形)或已非全新狀態(外觀有刮傷、破損、受潮等)與包裝不完整(缺少商品、附件、原廠外盒、保護袋、配件紙箱、保麗龍、隨貨文件、贈品等)。
- 退貨程序請參閱【客服專區→常見問題→誠品線上退貨退款】之說明。
付款/配送



