本次程式設計規範整理的原則是求精不求全,主要針對華為當前編碼上的突出問題,所以在全面性上不免有所欠缺。業界一些公司、組織也發布了一些程式設計規範,對程式語言的缺陷、使用風險都有很好的描述,這裡做一些簡單的推介,有興趣的同學可以在平時學習中可以參考,提高自己的程式設計能力。
google對外公布的乙份google內部編寫c++的**規範文件。
google開發者認為c++是一門包含大量高階特性的巨型語言,某些情況下,他們會限制甚至禁止使用某些特性,使**簡化,避免可能導致的各種問題。
包含的內容:標頭檔案、命名規則、注釋、語言特性的使用規則、編碼格式,等等。
特點:強調理解基礎上的遵循,乙個規則通常明確說明其優點、缺點,並舉很多例子,讓讀者在理解的基礎上遵循,不像規章制度那樣生硬和抽象,實際上讀起來更像乙個教程。
比如:禁止使用c++異常,花了一頁紙的篇幅來解釋使用和不使用的優缺點,非常容易理解。
這本程式設計規範凝聚兩位知名的c++專家(薩特,(herb sutter) 曾任iso c++標準委員會主席;亞歷山德雷斯庫(andrei alexandrescu)世界頂尖的c++專家),以及全球c++界20年的集體智慧型和經驗。
書中對每一條規範都給出了精確的描述,並輔以例項說明;從型別定義到錯誤處理,涵蓋了c++程式設計的每乙個方面,都給出了最佳實踐。即使使用c++多年的程式設計師也會從中受益匪淺。
包含內容:包括設計和編碼風格、函式、操作符、類的設計、繼承、構造與析構、賦值、名字空間、模組、模板、泛型、異常、stl容器和演算法等。
強調高質量**示例所具有的特質:1.易懂;2.正確性;3.一致性;4.流行性;5.可靠性;6.安全性。
包含內容:1、通用程式設計規範– 對**風格,格式和結構提供了全域性通用的指導;2、c++ 程式設計規範;3.net 編碼規範。
本規範涉及到一系列c++語言特性和技術,需要深入學習相關知識。
業界公認的完整涵蓋c++標準的權威著作,對基本程式設計技術,物件導向程式設計,標準庫和泛型程式設計都有全面的介紹。強調重要的知識點,提醒常見的錯誤,推薦優秀的程式設計實踐,給出使用提示,和大量來自實戰的示例和習題。
世界頂級c++大師scott meyers成名之作《effective c++》(改善程式與設計的55個具體做法)以及續集《more effective c++》(35個改善程式設計與設計的有效方法)。
被評為影響最深遠、最受推崇的書籍之一。讀過這本書能夠跨越c++重重險阻,迅速提公升c++功力,值得反覆閱讀和體會。
書中每一條準則描述乙個編寫出更好的 c++ 程式的方法,每乙個條款的背後都有具體範例支撐。
內容包括:改變舊有的c習慣;記憶體管理;建構函式,析構函式和assignment運算子;類與函式的設計和宣告;類與函式實現;繼承關係和物件導向設計;模板,等等。
scott meyers(effective c++和more effective c++的作者)的又一大作,揭示總結了的一些關鍵規則,包括專家們總是採用的做法以及總是避免的做法。
重點講述如何使用stl,共有50條指導原則,在講述每一條指導原則的時候,scott meyers都提供了透徹的分析和深刻的例項,所以讀者不僅可以學到要做什麼,而且還能夠知道什麼時候該這樣做,以及為什麼要這樣做。
主要包括以下幾個方面:1、關於選擇容器的建議,涉及到的容器有:標準stl容器(例如vector和list)、非標準的stl容器(例如hash_set和hash_map),以及非stl容器(例如bitset)。2、一些改進效率的技術,如何最大程度地提高stl程式的效率。
參考推薦讀物:《c++設計新思維::泛型程式設計與設計模式之應用》,《泛型程式設計與stl》,作為高階讀物。
c++大師stanley b. lippman著。中文名《深度探索c++物件模型》,候捷譯。
該書專注於c++物件導向程式設計的底層機制,包括結構化、臨時物件的生成、封裝、繼承,以及虛擬——虛函式和虛擬繼承。幫助程式設計師了解底層實現,深刻理解c++以及編譯器背後的處理,迅速提高程式設計能力,知其所以然。
C C 程式設計推薦學習順序和書籍
c c 語言基礎入門書籍 c primer plus c語言經典入門書籍 c primer plus c 語言經典入門書籍 基本工具庫 c 標準程式庫 c 標準模板庫stl入門經典書籍 資料結構c 語言描述 資料結構是深入學習stl的基礎 stl高階 stl原始碼剖析 通過源 深入分析stl,經典之...
程式設計 嵌入式軟體需要技能和書籍
1 語言類 c c the c programming language c和指標 c陷阱與缺陷 c專家程式設計 c標準庫 c primer effective c stl原始碼剖析 c coding standards python python核心程式設計 python testing cook...
讀書和書籍選擇問題的討論 C語言篇
在前面的文章裡我提到,要學習某項技術其中相關學習材料的選擇非常重要。如果選擇錯誤的材料則損失的不僅僅是錢財。這裡,我就針對一些比較好的學習材料做乙個收集和整理。希望能夠給學習相關技術的人提供一點幫助。這篇文章主要針對c語言學習的相關材料。這本書的作者是大名鼎鼎的c語言之父dennis ritchie...