0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

嵌入式C編碼中函數(shù)的規(guī)范

麥辣雞腿堡 ? 來源:嵌入式系統(tǒng) ? 作者:嵌入式系統(tǒng) ? 2023-12-07 14:33 ? 次閱讀

◎ 一個(gè)函數(shù)僅完成一件功能

◎ 重復(fù)代碼應(yīng)該盡可能提煉成函數(shù)。

說明:重復(fù)代碼提煉成函數(shù)可以帶來維護(hù)成本的降低。重復(fù)代碼是不良代碼最典型的特征之一。在“代碼能用就不改”的指導(dǎo)原則之下,新需求增加帶來的代碼拷貝和修改,隨著時(shí)間的遷移,產(chǎn)品中堆砌著許多類似或者重復(fù)的代碼。

◎ 避免遞歸函數(shù)的代碼塊嵌套過深。

◎ 對(duì)函數(shù)的錯(cuò)誤返回碼要全面處理。

說明:一個(gè)函數(shù)(標(biāo)準(zhǔn)庫中的函數(shù)/第三方庫函數(shù)/用戶定義的函數(shù))能夠提供一些指示錯(cuò)誤發(fā)生的方法,可以通過使用錯(cuò)誤標(biāo)記、特殊的返回?cái)?shù)據(jù)或者其他手段,調(diào)用程序應(yīng)該在函數(shù)返回時(shí)立刻檢查錯(cuò)誤指示。

◎ 廢棄函數(shù)要及時(shí)清除

說明:程序中的廢棄代碼不僅占用額外的空間,而且還常常影響程序的功能與性能,很可能給程序的測(cè)試、維護(hù)等造成不必要的麻煩。

◎ 函數(shù)傳入的不變參數(shù)使用const限制。

◎ 函數(shù)的參數(shù)個(gè)數(shù)不超過5個(gè),檢查輸入?yún)?shù)的有效性。

說明:函數(shù)的參數(shù)過多,會(huì)使得該函數(shù)易于受外部(其他部分的代碼)變化的影響,從而影響維護(hù)工作。函數(shù)的參數(shù)過多同時(shí)也會(huì)增大測(cè)試的工作量。函數(shù)的參數(shù)個(gè)數(shù)不要超過5個(gè),如果超過了建議拆分為不同函數(shù);函數(shù)的輸入主要有兩種:一種是參數(shù)輸入;另一種是全局變量、數(shù)據(jù)文件的輸入,即非參數(shù)輸入。函數(shù)在使用輸入?yún)?shù)之前,應(yīng)進(jìn)行有效性檢查。

◎ 源文件范圍內(nèi)聲明和定義的所有函數(shù),除非外部可見,否則增加static關(guān)鍵字,針對(duì)單元測(cè)試的特殊情況,對(duì)這類函數(shù)盡量封裝一層再使用。

◎ 傳入?yún)?shù)表意有3種以上的禁止使用魔法數(shù),必須使用枚舉值且附帶注釋。

◎ 函數(shù)內(nèi)部要對(duì)參數(shù)的合法性進(jìn)行檢查。

說明:函數(shù)的輸入主要有兩種:一種是參數(shù)輸入;另一種是全局變量、數(shù)據(jù)文件的輸入,即非參數(shù)輸入。函數(shù)在使用輸入?yún)?shù)之前,應(yīng)進(jìn)行有效性檢查。

◎ 除打印類函數(shù)外,不要使用可變長(zhǎng)函數(shù)。

說明:可變長(zhǎng)參函數(shù)的處理過程比較復(fù)雜容易引入錯(cuò)誤,而且性能也比較低,使用過多的可變長(zhǎng)參函數(shù)將導(dǎo)致函數(shù)的維護(hù)難度大大增加。

◎ 每個(gè)函數(shù)都要返回錯(cuò)誤碼,調(diào)用程序必須在函數(shù)返回時(shí)檢查錯(cuò)誤碼。

◎ 標(biāo)識(shí)符的命名要清晰明了,有明確含義,使用完整的單詞,盡量避免名字中出現(xiàn)數(shù)字編號(hào)或特殊符號(hào)。

◎ 函數(shù)名稱需體現(xiàn)出函數(shù)具體功能,均由功能單詞拼接組成,絕不允許出現(xiàn)中文拼音。

◎ 函數(shù)命名應(yīng)以函數(shù)要執(zhí)行的動(dòng)作命名,一般采用動(dòng)詞或者動(dòng)詞+名詞的結(jié)構(gòu)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5059

    文章

    18974

    瀏覽量

    302069
  • 編碼
    +關(guān)注

    關(guān)注

    6

    文章

    933

    瀏覽量

    54731
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4284

    瀏覽量

    62325
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4723

    瀏覽量

    68236
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    嵌入式C語言字符串函數(shù)的用法及原型

    嵌入式C語言字符串函數(shù)的用法及原型
    發(fā)表于 11-22 10:24 ?593次閱讀

    嵌入式c語言編碼規(guī)范

    `學(xué)習(xí)嵌入式的同學(xué)應(yīng)該首先掌握嵌入式編碼規(guī)范,這樣才能更好的嵌入式系統(tǒng)。下面就從這幾個(gè)方面講解一下嵌入式
    發(fā)表于 10-31 14:50

    嵌入式c語言編碼規(guī)范

    學(xué)習(xí)嵌入式的同學(xué)應(yīng)該首先掌握嵌入式編碼規(guī)范,這樣才能更好的嵌入式系統(tǒng)。下面就從這幾個(gè)方面講解一下嵌入式
    發(fā)表于 11-07 15:17

    嵌入式Linux C代碼規(guī)范

    本文檔為作者 在嵌入式嵌入式 linux C語言的學(xué)習(xí)和工作中所總結(jié)的代碼規(guī)范 ,是作者從 STM32單片機(jī)開發(fā)向 Linux C開發(fā)的時(shí)
    發(fā)表于 01-14 10:25

    基于Chirp函數(shù)的Nios Ⅱ嵌入式實(shí)現(xiàn)

    分析Chirp函數(shù)在頻域上的一般特性,提出利用FPGA的嵌入式軟核NiosⅡ處理器在嵌入式操作系統(tǒng)μC/OS-Ⅱ上實(shí)現(xiàn)Chirp的方法
    發(fā)表于 06-15 11:02 ?1141次閱讀
    基于Chirp<b class='flag-5'>函數(shù)</b>的Nios Ⅱ<b class='flag-5'>嵌入式</b>實(shí)現(xiàn)

    嵌入式C編程

    嵌入式C編程,非常有用的資料,介紹嵌入式C語言編程
    發(fā)表于 12-29 17:29 ?0次下載

    嵌入式系統(tǒng)的規(guī)范發(fā)展回顧

    后PC時(shí)代,嵌入式系統(tǒng)的發(fā)展風(fēng)起云涌,波瀾壯闊。在這一歷史洪流,眾多的嵌入式系統(tǒng)規(guī)范爭(zhēng)奇斗艷,各種嵌入式板卡令人眼花繚亂。伴隨著極大量標(biāo)準(zhǔn)
    發(fā)表于 02-14 14:00 ?1634次閱讀

    嵌入式代碼之編寫規(guī)范

    嵌入式代碼編碼規(guī)范,用于規(guī)范自己的代碼,增強(qiáng)可讀性,非標(biāo)準(zhǔn)規(guī)范。最好能強(qiáng)制自己形成良好的編碼風(fēng)格
    的頭像 發(fā)表于 04-26 15:21 ?5231次閱讀

    嵌入式軟件之c語言編碼規(guī)范

    嵌入式軟件之c語言編碼規(guī)范
    發(fā)表于 10-28 18:13 ?28次下載

    嵌入式C++編程

    特點(diǎn)展示如何使用 C ++ 來構(gòu)建利用可用硬件資源的強(qiáng)大并發(fā)系統(tǒng)。從嵌入式編程入門和 C ++ 17 的最新特性開始,帶您了解優(yōu)秀編程的各個(gè)方面您將學(xué)習(xí)如何使用 C ++ 的并發(fā)性、內(nèi)
    發(fā)表于 11-04 10:36 ?10次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>C</b>++編程

    嵌入式軟件的延時(shí)函數(shù)

    延時(shí)函數(shù)嵌入式軟件開發(fā)必不可少的功能函數(shù),在每個(gè)工程里都能找到它的蹤影。雖然看起來不起眼,但在有些時(shí)序控制的場(chǎng)合,使用了一點(diǎn)點(diǎn)delay,往往能解決大問題。下面描述一下delay
    發(fā)表于 11-24 19:21 ?19次下載
    <b class='flag-5'>嵌入式</b>軟件<b class='flag-5'>中</b>的延時(shí)<b class='flag-5'>函數(shù)</b>

    嵌入式系統(tǒng)函數(shù)如何調(diào)用

    嵌入式系統(tǒng),一個(gè)函數(shù)調(diào)用時(shí),它的內(nèi)部機(jī)理是什么,執(zhí)行了哪些步驟?如圖1所示,先看 看 一個(gè)程序在運(yùn)行時(shí),它的內(nèi)存分布狀況。
    的頭像 發(fā)表于 02-13 14:15 ?1038次閱讀
    <b class='flag-5'>嵌入式</b>系統(tǒng)<b class='flag-5'>中</b><b class='flag-5'>函數(shù)</b>如何調(diào)用

    嵌入式C語言的結(jié)構(gòu)特點(diǎn)

    嵌入式開發(fā)既有底層硬件的開發(fā)又涉及上層應(yīng)用的開發(fā),即涉及系統(tǒng)的硬件和軟件,C語言既具有匯編語言操作底層的優(yōu)勢(shì),又具有高級(jí)語言功能性強(qiáng)的特點(diǎn),當(dāng)之無愧地成為嵌入式開發(fā)的主流語言。在 S
    的頭像 發(fā)表于 11-24 16:16 ?620次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>C</b>語言的結(jié)構(gòu)特點(diǎn)

    嵌入式open函數(shù)的使用

    嵌入式系統(tǒng)是指嵌入到其他設(shè)備或系統(tǒng),用于控制和管理硬件資源的計(jì)算機(jī)系統(tǒng)。在嵌入式系統(tǒng),通常需要與外部設(shè)備進(jìn)行數(shù)據(jù)交互,例如讀取傳感器數(shù)據(jù)
    的頭像 發(fā)表于 01-04 15:51 ?593次閱讀

    ??嵌入式回調(diào)函數(shù)的實(shí)現(xiàn)方法

    回調(diào)函數(shù)的命名規(guī)范沒有固定的標(biāo)準(zhǔn),但是根據(jù)通用慣例和編碼規(guī)范,回調(diào)函數(shù)的命名應(yīng)該能夠反映函數(shù)的作
    發(fā)表于 03-04 14:49 ?638次閱讀