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