曙海教學優勢
本課程,秉承二十一年積累的教學品質,以項目實現為導向,面向企事業項目實際需要,老師將會與您分享設計的全流程以及工具的綜合使用經驗、技巧。課程可定制,線上/線下/上門皆可,熱線:4008699035。
曙海培訓的課程培養了大批受企業歡迎的工程師。大批企業和曙海
建立了良好的合作關系,合作企業30萬+。曙海培訓的課程在業內有著響亮的知名度。
嵌入式C高質量編程培訓課程?
??
培訓目標:
?
通過本課程,學員可以:
·了解C語言的嵌入式開發特性
·了解和性能有關的編碼要素
·了解嵌入式C程序的常見組織風格
·了解如何采用C進行面向編程
·掌握如何建立程序的性能
·掌握如何進行可靠性設計、監測并處理可靠性問題
·掌握如何建立可測試性,
·掌握如何進行嵌入式C白盒測試
·掌握如何進行嵌入式C代碼評審,
·掌握如何定位嵌入式C質量缺陷并進行代碼重構
?
培訓對象:嵌入式開發工程師,C程序員
學員基礎:具有開發一定的開發經驗
?
培訓內容:
?
嵌入式C關鍵特性 |
|
嵌入式C編程基礎 |
·?變量與內存分配機制 ·?函數與調用原理 ·?條件控制語句 ·?常量和變量 ·?指針和函數指針 ·?設計中斷函數 ·?關鍵字static,extern,volatile,inline ·?位操作的應用 ·?結構體中的位域 |
嵌入式C編碼風格 |
·?變量、函數、宏的命名 ·?代碼排版與布局 ·?注釋的策略 ·?indent工具 ·?為代碼編寫文檔 |
嵌入式C性能優化 |
·?使用宏和inline ·?使用寄存器變量 ·?內嵌匯編 ·?利用硬件特性 ·?循環展開 ·?使用查找表 ·?緊湊的C代碼并不能保證得到高效的機器代碼 ·?編譯優化 |
嵌入式C軟件結構 |
|
嵌入式C軟件模塊與模塊劃分 |
·?模塊劃分原則 ·?源代碼文件和目錄的組織 ·?硬件驅動模塊 ·?軟件功能模塊 ·?提供API ·?頭文件 ·?全局變量 ·?主循環與中斷 ·?軟件的分層結構 |
嵌入式C函數? |
·?一個函數只做一件事,不要編寫多種功能集于一身的函數 ·?明確地定義函數的參數 ·?避免比爾類型參數 ·?編寫函數使其在給定有效的輸入情況下不會失敗 ·?函數不依賴于另一個函數的內部細節 ·?函數要小且容易測試 ·?函數內部代碼塊 |
嵌入式C的面向對象 |
·?用struct來模擬class ·?封裝 ·?繼承 ·?重載 ·?數據結構的抽象 |
代碼質量 |
|
嵌入式C防御性編程 |
·?防御性代碼的風格 ·?編譯警告開關的使用 ·?預計所有可能的異常 ·?檢查所有的返回值 ·?審慎處理內存資源 ·?變量聲明策略 ·?審慎地進行強制轉換 ·?盡量用可移植的數據類型 ·?使用lint來查出編譯程序漏掉的錯誤 ·?使用斷言 |
嵌入式C白盒測試 |
·?TDD與單元測試 ·?單元測試與Debug ·?單元測試用例設計 ·?即使測試代碼會影響進度,也要堅持測試代碼 ·?測試代碼的責任不在測試員身上,而是程序員自己的責任 |
嵌入式C代碼評審 |
·?代碼評審的規范 ·?代碼評審的組織方式 ·?代碼評審的內容 ·?結合配置管理強制代碼評審 |
嵌入式C代碼重構 |
·?代碼重構的原則 ·?重新命名函數 ·?提煉函數 ·?提煉判斷條件 ·?簡化函數參數 ·?解除全局變量的噩夢 ·?避免函數傳遞中的隱形bug ·?調整函數位置 |
?