C++ 編程規範 (C++ Coding Standards: 101 Rules, Guidelines, and Best Practices)
內容描述
<本書簡介>
101個準則、指導方針,和最佳實踐
<內容特色>
C++編程規範(C++ Coding
Standards)Herb Sutter and Andrei Alexandrescu堅實而高品質的編程規範(coding
standards)可以改善軟體品質,提早產品上市,助長團隊合作,把時間用在重要且合理的事情上,並且簡化維護。當今全球最受矚目的兩位C++
專家從全世界無數C++ 社群的豐富經驗中提煉出一整組編程規範,讓每一位開發人員和團隊都能夠了解並用來做為他們自己的編程規範的基礎。兩位作者涵蓋了C++
編程的幾乎每一個面向:設計和撰碼風格(design and coding
style)、函式(functions)、運算子(operators)、class設計、繼承(inheritance)、建構/解構(construction/destruction)、拷貝(coping)、賦值(assignment)、命名空間(namespaces)、模塊(modules)、模板(templates)、泛型(genericity)、異常(exceptions)、STL容器和演算法(containers
and algorithms),以及更多內容,並搭配實際範例。從型別定義(type definition)到錯誤處理(error
handling),本書呈現C++的最佳實踐,包括某些縱使你使用C++
多年也不一定知曉,最近才獲確認及標準化的技術。循此方向,你將發現諸如此類的問題解答:▪ 什麼東西值得被標準化?什麼不值得?▪ 什麼是寫出伸縮性程式碼(code
for scalability)的最佳手段?▪ 什麼是合理的錯誤處理策略(error handling
policy)的要素?▪ 如何(以及為什麼)避免非必要的初始化和循環相依(cyclic
dependencies)?▪ 何時(以及如何)應該同時使用靜態和動態多型(static and dynamic
polymorphism)?▪ 如何實踐安全的覆寫("safe" overriding)?▪ 何時應該提供一個no-fail
swap?▪ 為什麼應該(以及如何)阻止異常跨模塊邊界(across module
boundaries)傳播?▪ 為什麼不該在表頭檔內寫namespace的宣告式或指令(declarations or
directives)?▪ 為什麼應該使用STL的vector和string來取代arrays?▪ 如何選擇正確的STL
search或sort演算法?▪ 應該遵循什麼規則來保證type-safe程式碼?不論個人或團隊,本書助你寫出更乾淨的程式碼 —
而且更快寫出,帶著更少的困難和挫敗。Herb Sutter是三本受高度讚揚的書籍的作者,它們分別是《Exceptional C++
Style》、《Exceptional C++》和《More Exceptional C++》(Addison Wesley)。他目前是C++
標準委員會主席,也是C/C++ User Journal的特約編輯和專欄作家。作為Microsoft的軟體架構師(software
architect),Sutter目前正領導設計C++ language extensions for .NET programming。Andrei
Alexandrescu是獲譽無數的《Modern C++ Design》(Addison Wesley, 2001)一書作者,以及C/C++ User
Journal專欄作家。
<章節目錄>
Ch01 編制與政策Ch02
設計風格Ch03 撰碼風格Ch04 函式和運算子Ch05 Class設計與繼承Ch06 建構、解構和拷貝Ch07
命名空間和模組Ch08 模板和泛型Ch09 錯誤處理和異常Ch10 STL:容器Ch11 STL:演算法Ch12
型別安全