我的程式碼會說話 (暢銷回饋版)

王洪亮 著、陳錦輝 審校.

  • 我的程式碼會說話 (暢銷回饋版)-preview-1
  • 我的程式碼會說話 (暢銷回饋版)-preview-2
  • 我的程式碼會說話 (暢銷回饋版)-preview-3
  • 我的程式碼會說話 (暢銷回饋版)-preview-4
  • 我的程式碼會說話 (暢銷回饋版)-preview-5
我的程式碼會說話 (暢銷回饋版)-preview-1

買這商品的人也買了...

商品描述

 

<內容簡介>

本書名列中文原創經典第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)的概念。

 

<章節目錄>

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 參考資料

 

<作者介紹>

王洪亮
從事軟體發展工作12年,有豐富的架構設計和專案管理經驗,熟知英語和日語,熟悉多種平台的開發。曾在多家國際化企業工作,致力於程式碼可讀性、可擴展性、可變性、可測試性方面的研究。是敏捷開發的支持者與實踐者,曾擔任敏捷開發獨立諮詢師為多家企業提供服務,幫助企業建立相關的開發團隊,並為其改進工作方式。同時也對測試驅動開發、演進式設計有一定的實踐經驗。