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