幫助中心 | 我的帳號 | 關於我們

代碼整潔之道

  • 作者:(美)羅伯特·C.馬丁|責編:楊海玲|譯者:韓磊
  • 出版社:人民郵電
  • ISBN:9787115524133
  • 出版日期:2020/02/01
  • 裝幀:平裝
  • 頁數:387
人民幣:RMB 99 元      售價:
放入購物車
加入收藏夾

內容大鋼
    軟體質量,不但依賴架構及項目管理,而且與代碼質量緊密相關。這一點,無論是敏捷開發流派還是傳統開發流派,都不得不承認。
    本書提出一種觀點:代碼質量與其整潔度成正比。乾淨的代碼,既在質量上較為可靠,也為後期維護、升級奠定了良好基礎。作為編程領域的佼佼者,本書作者給出了一系列行之有效的整潔代碼操作實踐。這些實踐在本書中體現為一條條規則(或稱「啟示」),並輔以來自實際項目的正、反兩面的範例。只要遵循這些規則,就能編寫出乾淨的代碼,從而有效提升代碼質量。
    本書閱讀對象為一切有志於改善代碼質量的程序員及技術經理。書中介紹的規則均來自作者多年的實踐經驗,涵蓋從命名到重構的多個編程方面,雖為一「家」之言,然誠有可資借鑒的價值。

作者介紹
(美)羅伯特·C.馬丁|責編:楊海玲|譯者:韓磊

目錄
第1章  整潔代碼
  1.1  要有代碼
  1.2  糟糕的代碼
  1.3  混亂的代價
    1.3.1  華麗新設計
    1.3.2  態度
    1.3.3  謎題
    1.3.4  整潔代碼的藝術
    1.3.5  什麼是整潔代碼
  1.4  思想流派
  1.5  我們是作者
  1.6  童子軍軍規
  1.7  前傳與原則
  1.8  小結
  1.9  文獻
第2章  有意義的命名
  2.1  介紹
  2.2  名副其實
  2.3  避免誤導
  2.4  做有意義的區分
  2.5  使用讀得出來的名稱
  2.6  使用可搜索的名稱
  2.7  避免使用編碼
    2.7.1  匈牙利語標記法
    2.7.2  成員前綴
    2.7.3  介面和實現
  2.8  避免思維映射
  2.9  類名
  2.10  方法名
  2.11  別抖機靈
  2.12  每個概念對應一個詞
  2.13  別用雙關語
  2.14  使用解決方案領域名稱
  2.15  使用源自所涉問題領域的名稱
  2.16  添加有意義的語境
  2.17  不要添加沒用的語境
  2.18  最後的話
第3章  函數
  3.1  短小
  3.2  只做一件事
  3.3  每個函數一個抽象層級
  3.4  switch語句
  3.5  使用具有描述性的名稱
  3.6  函數參數
    3.6.1  單參數函數的普遍形式
    3.6.2  標識參數
    3.6.3  雙參數函數
    3.6.4  三參數函數
    3.6.5  參數對象
    3.6.6  參數列表

    3.6.7  動詞與關鍵字
  3.7  無副作用
  3.8  分隔指令與詢問
  3.9  使用異常替代返回錯誤碼
    3.9.1  抽離try/catch代碼塊
    3.9.2  錯誤處理就是一件事
    3.9.3  Error.java依賴磁鐵
  3.10  別重複自己
  3.11  結構化編程
  3.12  如何寫出這樣的函數
  3.13  小結
  3.14  SetupTeardownIncluder程序
  3.15  文獻
第4章  註釋
  4.1  註釋不能美化糟糕的代碼
  4.2  用代碼來闡述
  4.3  好註釋
    4.3.1  法律信息
    4.3.2  提供信息的註釋
    4.3.3  對意圖的解釋
    4.3.4  闡釋
    4.3.5  警示
    4.3.6  TODO註釋
    4.3.7  放大
    4.3.8  公共API中的Javadoc
  4.4  壞註釋
    4.4.1  喃喃自語
    4.4.2  多餘的註釋
    4.4.3  誤導性註釋
    4.4.4  循規式註釋
    4.4.5  日誌式註釋
    4.4.6  廢話註釋
    4.4.7  可怕的廢話
    4.4.8  能用函數或變數時就別用註釋
    4.4.9  位置標記
    4.4.10  括弧後面的註釋
    4.4.11  歸屬與署名
    4.4.12  註釋掉的代碼
    4.4.13  HTML註釋
    4.4.14  非本地信息
    4.4.15  信息過多
    4.4.16  不明顯的聯繫
    4.4.17  函數頭
    4.4.18  非公共代碼中的Javadoc
    4.4.19  範例
  4.5  文獻
第5章  格式
  5.1  格式的目的
  5.2  垂直格式
    5.2.1  向報紙學習

    5.2.2  概念間垂直方向上的區隔
    5.2.3  垂直方向上的靠近
    5.2.4  垂直距離
    5.2.5  垂直順序
  5.3  橫向格式
    5.3.1  水平方向上的區隔與靠近
    5.3.2  水平對齊
    5.3.3  縮進
    5.3.4  空範圍
  5.4  團隊規則
  5.5  「鮑勃大叔」的格式規則
第6章  對象和數據結構
  6.1  數據抽象
  6.2  數據、對象的反對稱性
  6.3  得墨忒耳律
    6.3.1  火車失事
    6.3.2  混雜
    6.3.3  隱藏結構
  6.4  數據傳送對象
  6.5  小結
  6.6  文獻
第7章  錯誤處理
  7.1  使用異常而非返回碼
  7.2  先寫try-catch-finally語句
  7.3  使用未檢異常
  7.4  給出異常發生的環境說明
  7.5  依調用者需要定義異常類
  7.6  定義常規流程
  7.7  別返回null值
  7.8  別傳遞null值
  7.9  小結
  7.10  文獻
第8章  邊界
  8.1  使用第三方代碼
  8.2  瀏覽和學習邊界
  8.3  學習log4j
  8.4  學習性測試的好處不只是免費
  8.5  使用尚不存在的代碼
  8.6  整潔的邊界
  8.7  文獻
第9章  單元測試
  9.1  TDD三定律
  9.2  保持測試整潔
  9.3  整潔的測試
    9.3.1  面向特定領域的測試語言
    9.3.2  雙重標準
  9.4  每個測試一個斷言
  9.5  F.I.R.S.T.
  9.6  小結
  9.7  文獻

第10章  類
  10.1  類的組織
  10.2  類應該短小
    10.2.1  單一權責原則
    10.2.2  內聚
    10.2.3  保持內聚性就會得到許多短小的類
  10.3  為了修改而組織
  10.4  文獻
第11章  系統
  11.1  如何建造一個城市
  11.2  將系統的構造與使用分開
    11.2.1  分解main
    11.2.2  工廠
    11.2.3  依賴注入
  11.3  擴容
  11.4  Java代理
  11.5  純Java AOP框架
  11.6  AspectJ的方面
  11.7  測試驅動系統架構
  11.8  優化決策
  11.9  明智使用添加了可論證價值的標準
  11.10  系統需要領域特定語言
  11.11  小結
  11.12  文獻
第12章  迭進
  12.1  通過迭進設計達到整潔目的
  12.2  簡單設計規則1:運行所有測試
  12.3  簡單設計規則2?4:重構
  12.4  不可重複
  12.5  表達力
  12.6  盡可能少的類和方法
  12.7  小結
  12.8  文獻
第13章  併發編程
  13.1  為什麼要併發
  13.2  挑戰
  13.3  併發防禦原則
    13.3.1  單一權責原則
    13.3.2  推論:限制數據作用域
    13.3.3  推論:使用數據副本
    13.3.4  推論:線程應盡可能地獨立
  13.4  了解Java庫
  13.5  了解執行模型
    13.5.1  生產者-消費者模型
    13.5.2  讀者-作者模型
    13.5.3  宴席哲學家
  13.6  警惕同步方法之間的依賴
  13.7  保持同步區域微小
  13.8  很難編寫正確的關閉代碼
  13.9  測試線程代碼

    13.9.1  將偽失敗看作可能的線程問題
    13.9.2  先使非線程代碼可工作
    13.9.3  編寫可插拔的線程代碼
    13.9.4  編寫可調整的線程代碼
    13.9.5  運行多於處理器數量的線程
    13.9.6  在不同平台上運行
    13.9.7  裝置試錯代碼
    13.9.8  硬編碼
    13.9.9  自動化
  13.10  小結
  13.11  文獻
第14章  逐步改進
  14.1  Args的實現
  14.2  Args:草稿
    14.2.1  所以我暫停了
    14.2.2  漸進
  14.3  字元串類型參數
  14.4  小結
第15章  JUnit內幕
  15.1  JUnit框架
  15.2  小結
第16章  重構SerialDate
  16.1  首先,讓它能工作
  16.2  讓它做對
  16.3  小結
  16.4  文獻
第17章  味道與啟發
  17.1  註釋
  17.2  環境
  17.3  函數
  17.4  一般性問題
  17.5  Java
  17.6  名稱
  17.7  測試
  17.8  小結
  17.9  文獻
附錄A  併發編程II
附錄B  org.jfree.date.SerialDate
結束語

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032