新書推薦:
《
上流哥:這年頭存錢比投資更重要
》
售價:HK$
115.2
《
歐洲中世紀圍城戰
》
售價:HK$
127.3
《
媽媽,妳是不是比較愛弟弟
》
售價:HK$
78.8
《
樸氏顱骶療法:嬰幼兒指南
》
售價:HK$
148.5
《
生物與非生物之間:所謂生命,究竟是什麼.一位生物科學家對生命之美的15個追問與思索
》
售價:HK$
97.0
《
紫微攻略3星曜 我們與真實自己的距離: 史上最強星曜解盤!對宮為明鏡,透視深層人性(上集)
》
售價:HK$
115.2
《
東川Style:北海道8000人小鎮的創生故事
》
售價:HK$
115.2
《
抗壓韌性:世界菁英的成功秘密,人人都可鍛鍊的強勢復原力
》
售價:HK$
115.2
|
內容簡介: |
本書名列中文原創經典第05號
本書為經典名著的最佳實踐
.CleanCode:AHandbookofAgileSoftwareCraftsmanship
.BeautifulCode:LeadingProgrammingExplainHowTheyThink
.TheArtofReadableCode
.DesignPatterns:ElementsofReusableObject-OrientedSoftware
.AgileSoftwareDevelopment:Principles,Patterns,andPractices
.Refactoring:ImprovingTheDesignofExistingCode
程式碼的可讀性、可擴展性、可測試性是攸關程式碼品質的重要參考指標。本書教您如何寫好程式,分析劣質程式碼所帶來的不愉快經驗,主張採用接近自然語言的方式來書寫程式碼,並針對提升設計能力、英語能力,熟悉開發環境、瞭解程式語言等諸多方面提出相應的具體改善策略。
為什麼寫不出好的程式碼
.對理論知識瞭解不夠會造成不佳的程式設計習慣,進而帶來潛在的Bug風險。
.受限於舊版本與程式語言的不熟悉,而無法掌握最新的產品特性來書寫更為精煉的程式碼。
.不瞭解設計方法而耗費大量時間,把簡單問題複雜化,重複實作已有完整解決方案的程式碼。
.設計方法不佳造成程式碼的問題,如重複與類似、長方法、複雜分支、類別膨脹。
.對於開發環境不夠熟悉,導致很多方便、快捷的功能沒有獲得良好的利用,如重構技術、外掛程式。
.能掌握的英語單詞量不足、語法不明確、詞性不熟悉等原因,造成程式碼在書寫上與閱讀上的苦惱。
.套用相似案例的快速學習法,使得程式碼未能保持最佳風格,甚至會因思慮不周而讓可讀性變差。
.為了快速完成功能而採用臨時的解決方案,往往留下了技術債務,無法因應系統的變動與修改Bug。
.在任務分配的管理模式下,程式師只是機械式地堆砌程式碼,無法在設計的環節上作全面性的思考。
優質程式碼的参考指標
本書就劣質程式碼產生的技術層面及原因提出了相關分析和探討。但書寫程式碼不僅是技術工作,更是一門藝術學問。好的程式碼應該是讓使用者能夠快速閱讀、容易測試、進行擴展。
程式碼就像是能夠自我表達的語言,如何採用接近自然語言的方式書寫程式碼,就像文章一樣讀起來朗朗上口,一看到程式碼就知道軟體執行什麼工作,那麼對程式碼的理解將不必再依靠繁雜的註解和厚厚的文件,而維護人員也不必擔心程式碼和文件或者註解不一致的問題了,程式碼本身就可以表明其作用。這就是自我表達程式碼(Self-ExpressiveCode)的概念。
|
關於作者: |
王洪亮
從事軟體發展工作12年,有豐富的架構設計和專案管理經驗,熟知英語和日語,熟悉多種平台的開發。曾在多家國際化企業工作,致力於程式碼可讀性、可擴展性、可變性、可測試性方面的研究。是敏捷開發的支持者與實踐者,曾擔任敏捷開發獨立諮詢師為多家企業提供服務,幫助企業建立相關的開發團隊,並為其改進工作方式。同時也對測試驅動開發、演進式設計有一定的實踐經驗。
|
目錄:
|
Chapter1劣質程式碼帶來的劣質體驗
1.1程式碼的可讀性問題
1.2程式碼的可測試性問題
1.3程式碼的可維護性問題
Chapter2劣質程式碼是怎麼產生的
2.1理論知識匱乏
2.2對程式語言不熟悉
2.3對開發環境不熟悉
2.4對設計方法不瞭解
2.5程式設計的習慣不佳
2.6英語能力不足
2.7管理人員的誤導
Chapter3自我表達的程式碼
Chapter4理論知識的補充
4.1物件導向的基礎知識
4.2設計的基本原則
4.3圈複雜度
Chapter5熟悉程式設計的環境
5.1儲存動作與自動格式化
5.2快速修復
5.3重構
5.4自動完成
5.5瀏覽大綱
5.6Eclipse快速鍵
Chapter6程式語言的學習
6.1註記
6.2例外
6.3反射
6.4泛型
Chapter7設計方法的學習
7.1設計模式
7.2相依性注入
7.3Map的妙用
7.4採用位元遮罩來減少類別的個數
7.5List處理Z-Order
Chapter8英文能力的提升
8.1詞性
8.2時態
8.3語法
8.4否定詞
8.5成對詞
8.6近義詞
8.7首碼、副檔名
8.8縮寫
8.9正確地用詞
Chapter9程式設計習慣的改進
9.1命名方面的改進
9.2註解方面的改進
9.3風格方面的改進
9.4結構方面的改進
9.5架構方面的改進
Chapter10測試程式碼的自我表達改進
10.1測試程式碼的可讀性
10.2測試程式碼的可維護性
10.3測試程式碼的可擴展性
10.4測試語法
Appendix參考資料
|
|