現(xiàn)在市面上不管是從事嵌入式工程師的工作還是想要學(xué)習(xí)嵌入式技術(shù)的人都是越來(lái)越多了,由于嵌入式這個(gè)行業(yè)一直是處于供不應(yīng)求的狀態(tài),所以說(shuō)想要進(jìn)入到這個(gè)行業(yè)的人一直是有增無(wú)減啊。那么在學(xué)習(xí)或者是工作的時(shí)候什么樣的嵌入式程序是符合標(biāo)準(zhǔn)的呢?你們寫(xiě)的程序是符合標(biāo)準(zhǔn)的嗎?下面和達(dá)內(nèi)科技的小編一起看看。
1、函數(shù)名單詞間用下劃線連接,各單詞首字母大寫(xiě)。宏定義與枚舉變量名全部大寫(xiě),單詞間用下劃線連接。變量名全部小寫(xiě),單詞間用下劃線連接。
2、每個(gè) { 與 } 獨(dú)占一行。if、else、for、while、do 等語(yǔ)句獨(dú)占一行,執(zhí)行語(yǔ)句不得緊跟其后。不論執(zhí)行語(yǔ)句有多少行都要加
{}。
3、一行代碼只寫(xiě)一條語(yǔ)句,只定義一個(gè)變量。
4、相對(duì)獨(dú)立的程序塊之間加空行,變量定義與執(zhí)行語(yǔ)句之間加空行。
5、較長(zhǎng)的語(yǔ)句要分成多行書(shū)寫(xiě),長(zhǎng)表達(dá)式要在低優(yōu)先級(jí)操作符處劃分新行,操作符放在新行之首,劃分出的新行要縮進(jìn)。
6、語(yǔ)句內(nèi)運(yùn)算符較多時(shí),用括號(hào)明確表達(dá)運(yùn)算順序,避免使用默認(rèn)優(yōu)先
7、不使用 goto 關(guān)鍵字。
8、多行注釋的每行行首加 * 符號(hào)。
9、不得對(duì)有符號(hào)數(shù)施加位操作,例如 1 << 4 將被禁止,必須寫(xiě) 1UL << 4。
10、在同一個(gè)編譯單元中,同一個(gè)標(biāo)識(shí)符不應(yīng)該同事具有內(nèi)部鏈接和外部鏈接的聲名。
11、操作符&&和||的右側(cè)表達(dá)式不得具有副作用(side-effect)。 也就是說(shuō),象 if (x == 20
&& ++y == 19)這樣的表達(dá)式被禁止。
12、禁止從任意類(lèi)型到指針的強(qiáng)制轉(zhuǎn)型,禁止從指針到任意類(lèi)型的強(qiáng)制轉(zhuǎn)型。 例如:void* p = (void*)0xFFFF8888UL。
13、禁止使用動(dòng)態(tài)堆分配(也就是不得使用malloc, calloc和realloc)。
14、不得定義與外部作用域中某個(gè)標(biāo)識(shí)符同名的對(duì)象,以避免遮蓋外部作用域中的標(biāo)識(shí)符。
15、所有數(shù)字常數(shù)應(yīng)當(dāng)加上合適的后綴表示類(lèi)型,例如51L, 42U, 34.12F等。
16、如果一個(gè)函數(shù)可能返回錯(cuò)誤信息,則調(diào)用后必須加以測(cè)試。
以上就是達(dá)內(nèi)科技的小編給大家整理的關(guān)于什么樣嵌入式程序是符合標(biāo)準(zhǔn)的內(nèi)容了,達(dá)內(nèi)科技希望大家在寫(xiě)嵌入式程序的時(shí)候都是符合標(biāo)準(zhǔn)的。如果說(shuō)你想要學(xué)習(xí)嵌入式技術(shù)的話,那么達(dá)內(nèi)科技?xì)g迎大家來(lái)我們達(dá)內(nèi)科技的嵌入式培訓(xùn)班進(jìn)行實(shí)地考察,也可以點(diǎn)擊我們文章下面的獲取試聽(tīng)資格按鈕來(lái)獲取我們的嵌入式課程免費(fèi)試聽(tīng)資格,在試聽(tīng)中可以更加深入的了解我們達(dá)內(nèi)科技。