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

C++20代碼整潔之道(可持續軟體開發模式實踐原書第2版)/程序員書庫

  • 作者:(德)斯蒂芬·羅斯|責編:劉鋒|譯者:連少華//李國誠//吳毓龍//謝鄭逸
  • 出版社:機械工業
  • ISBN:9787111725268
  • 出版日期:2023/04/01
  • 裝幀:平裝
  • 頁數:340
人民幣:RMB 129 元      售價:
放入購物車
加入收藏夾

內容大鋼
    使用現代C++可以編寫可維護、可擴展且持久的軟體。這本書針對最近發布的C++20標準進行了更新,對於每個想精心設計C++代碼並希望節省開發成本的開發人員、軟體架構師或團隊負責人來說,這本書都是必讀之物。如果你想自學編寫更好的C+代碼的方法,那麼本書正是你需要的。它是為所有技能水平的C++開發人員編寫的,通過示例展示了如何編寫易於理解、靈活、可維護且高效的C++代碼。即使對於經驗豐富的C++開發人員來說,本書中的一些要點和數據點也很有用。
    如果不認真維護代碼庫,就會遇到很多問題,代碼會變得混亂、不可維護,使用任何語言都如此。但是,C++項目的代碼尤其容易變得混亂,導致維護代碼如同噩夢。有很多C++代碼看起來好像是在20世紀80年代編寫的一樣,完全忽略了編寫現代C++代碼應遵循的原則和良好實踐。似乎C++開發人員已經被那些宣揚軟體工藝和整潔代碼原則的人遺忘了。網路上到處都是C++代碼示例,它們可能運行得很快,很精巧,並且經過了高度優化,但其開發人員完全忽略了編寫良好代碼的基本原則。本書將解釋如何避免這種情況以及如何充分利用C++代碼,幫助你高效地編寫代碼,更重要的是,讓你帶著樂趣去編寫。
    通過閱讀本書、你將能夠:
    獲得用C++編寫整潔代碼的原則和規則:
    執行測試驅動開發(TDD);
    更好地模塊化C+代碼庫;
    發現和使用C++設計模式與習慣用法;
    以面向對象的風格和函數式編程風格編寫C+代碼。

作者介紹
(德)斯蒂芬·羅斯|責編:劉鋒|譯者:連少華//李國誠//吳毓龍//謝鄭逸

目錄
譯者序
作者簡介
技術評審員簡介
致謝
第1章  引言
  1.1  軟體熵
  1.2  為什麼使用C++
  1.3  整潔的代碼
  1.4  C++11——新時代的開始
  1.5  本書適合的讀者
  1.6  本書使用的約定
    1.6.1  擴展內容
    1.6.2  注意事項、提示和警告
    1.6.3  示例代碼
  1.7  相關網站和代碼庫
  1.8  UML圖
第2章  構建安全體系
  2.1  測試的必要性
  2.2  測試入門
  2.3  單元測試
  2.4  關於質量保證
  2.5  良好單元測試的原則
    2.5.1  單元測試代碼的質量
    2.5.2  單元測試的命名
    2.5.3  單元測試的獨立性
    2.5.4  一個測試一個斷言
    2.5.5  單元測試環境的獨立初始化
    2.5.6  不對Getter和Setter做單元測試
    2.5.7  不對第三方代碼做單元測試
    2.5.8  不對外部系統做單元測試
    2.5.9  如何處理資料庫的訪問
    2.5.10  不要混淆測試代碼和產品代碼
    2.5.11  測試必須快速執行
    2.5.12  如何設計測試的輸入數據
    2.5.13  測試替身
第3章  原則
  3.1  什麼是原則
  3.2  保持簡單和直接原則
  3.3  不需要原則
  3.4  避免複製原則
    3.4.1  關於避免複製原則的知識
    3.4.2  構建抽象有時很困難
  3.5  信息隱藏原則
  3.6  高內聚原則
  3.7  松耦合原則
  3.8  小心優化原則
  3.9  最少驚訝原則
  3.10  童子軍原則
第4章  C++代碼整潔的基本規範
  4.1  良好的命名

    4.1.1  名稱應該不言自明
    4.1.2  使用領域中的名稱
    4.1.3  選擇適當抽象級別的名稱
    4.1.4  避免冗余的名稱
    4.1.5  避免晦澀難懂的縮寫
    4.1.6  避免匈牙利命名法和命名前綴
    4.1.7  避免相同的名稱用於不同的用途
  4.2  註釋
    4.2.1  讓寫代碼像講故事一樣
    4.2.2  不要為易懂的代碼寫註釋
    4.2.3  不要通過註釋禁用代碼
    4.2.4  不要寫塊註釋
    4.2.5  特殊情況的註釋是有用的
  4.3  函數
    4.3.1  只做一件事情
    4.3.2  讓函數盡可能小
    4.3.3  函數命名
    4.3.4  使用容易理解的名稱
    4.3.5  函數的參數和返回值
  4.4  C++項目中的C風格代碼
    4.4.1  使用C++的string和stream來替代C風格的char*
    4.4.2  避免使用printf()、sprintf()、gets()等
    4.4.3  使用標準庫的容器而不是使用C風格數組
    4.4.4  使用C++類型轉換代替C風格類型轉換
    4.4.5  避免使用宏
第5章  現代C++的高級概念
  5.1  資源管理
    5.1.1  資源申請即初始化
    5.1.2  智能指針
    5.1.3  避免顯式的new和delete
    5.1.4  管理專有資源
  5.2  move語義
    5.2.1  什麼是move語義
    5.2.2  左值和右值的關係
    5.2.3  右值引用
    5.2.4  不要濫用move語義
    5.2.5  零原則
  5.3  編譯器是你的搭檔
    5.3.1  自動類型推導
    5.3.2  編譯時的計算
    5.3.3  模板變數
  5.4  不允許出現未定義行為
  5.5  Type-Rich編程
  5.6  熟悉使用的庫
    5.6.1  熟練使用
    5.6.2  使用Boost
    5.6.3  應該了解的其他庫
  5.7  正確處理異常和錯誤
    5.7.1  防患于未然
    5.7.2  從字面上講,例外就是異常

    5.7.3  如果不能恢復,則儘快退出
    5.7.4  用戶自定義異常
    5.7.5  值類型拋出,常量引用類型捕獲
    5.7.6  注意catch的正確順序
  5.8  介面設計
    5.8.1  Attribute
    5.8.2  concept:模板參數的要求
第6章  模塊化編程
  6.1  模塊化的基礎
    6.1.1  模塊設計的原則
    6.1.2  小結
  6.2  面向對象
    6.2.1  面向對象思想
    6.2.2  類的設計原則
  6.3  模塊
    6.3.1  #include的缺點
    6.3.2  使用模塊來解決
    6.3.3  底層實現
    6.3.4  使用模塊的三種方案
    6.3.5  模塊的影響
第7章  函數式編程
  7.1  什麼是函數式編程
    7.1.1  什麼是函數
    7.1.2  純函數和非純函數
  7.2  現代C++中的函數式編程
    7.2.1  基於模板的函數式編程
    7.2.2  仿函數
    7.2.3  綁定包裝和函數包裝
    7.2.4  Lambda表達式
    7.2.5  通用Lambda表達式
    7.2.6  Lambda模板
  7.3  高級函數
  7.4  管道與範圍適配器
  7.5  整潔的函數式編程代碼
第8章  測試驅動開發
  8.1  傳統單元測試的缺點
  8.2  作為顛覆者的測試驅動開發
    8.2.1  TDD的流程
    8.2.2  TDD示例:羅馬數字的代碼招式
  8.3  TDD的優勢
  8.4  不應該使用TDD的場合
第9章  設計模式和習慣用法
  9.1  設計原則與設計模式
  9.2  常見設計模式及應用場景
    9.2.1  依賴注入模式
    9.2.2  適配器模式
    9.2.3  策略模式
    9.2.4  命令模式
    9.2.5  命令處理模式
    9.2.6  組合模式

    9.2.7  觀察者模式
    9.2.8  工廠模式
    9.2.9  門面模式
    9.2.10  貨幣類模式
    9.2.11  特例模式
  9.3  什麼是習慣用法
附錄  UML簡要指南
參考文獻

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們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