本書名列中文原創經典第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)的概念。
作者介紹
作者簡介
王洪亮
從事軟體發展工作12年,有豐富的架構設計和專案管理經驗,熟知英語和日語,熟悉多種平台的開發。曾在多家國際化企業工作,致力於程式碼可讀性、可擴展性、可變性、可測試性方面的研究。是敏捷開發的支持者與實踐者,曾擔任敏捷開發獨立諮詢師為多家企業提供服務,幫助企業建立相關的開發團隊,並為其改進工作方式。同時也對測試驅動開發、演進式設計有一定的實踐經驗。
王洪亮
從事軟體發展工作12年,有豐富的架構設計和專案管理經驗,熟知英語和日語,熟悉多種平台的開發。曾在多家國際化企業工作,致力於程式碼可讀性、可擴展性、可變性、可測試性方面的研究。是敏捷開發的支持者與實踐者,曾擔任敏捷開發獨立諮詢師為多家企業提供服務,幫助企業建立相關的開發團隊,並為其改進工作方式。同時也對測試驅動開發、演進式設計有一定的實踐經驗。
目錄
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 參考資料
網路書店
類別
折扣
價格
-
新書79折$205
-
新書88折$229
-
新書88折$229
-
新書9折$234
-
新書9折$234
-
新書$270