日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

電子發(fā)燒友App

硬聲App

掃碼添加小助手

加入工程師交流群

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

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

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>可編程邏輯>編程規(guī)范及原則對于嵌入式開發(fā)的工程師來說真的很重要資料下載

編程規(guī)范及原則對于嵌入式開發(fā)的工程師來說真的很重要資料下載

2021-04-19 | pdf | 149.38KB | 次下載 | 3積分

資料介紹

Ⅰ 寫在前面 不知道大家有沒有這樣的感受:看到不規(guī)范(雜亂差)的代碼,瞬間就沒有看下去的欲望了。 相信大家看到標(biāo)題都應(yīng)該能明白編程的規(guī)范及原則對于每一個軟件開發(fā)的工程師來說是多么重要。 初學(xué)者編寫測試程序、小的模塊程序也許不能感受它的重要性;但有經(jīng)驗(yàn)及大型項(xiàng)目開發(fā)的人就知道程序的規(guī)范性對他們來說是有多么的重要。 Ⅱ 關(guān)于編程規(guī)范及原則 編程規(guī)范也就是編寫出簡潔、可維護(hù)、可靠、可測試、高效、可移植的代碼,提高產(chǎn)品代碼的質(zhì)量。 本文針對嵌入式,主要結(jié)合C語言編程的規(guī)范給大家講述。 1. 頭文件 對于C語言來說,頭文件的設(shè)計(jì)體現(xiàn)了大部分的系統(tǒng)設(shè)計(jì),不合理的頭文件布局是編譯時(shí)間過長的原因。 有很多人將工程中所有的頭文件包含在一個include.h文件中,然后在每一個.c源代碼文件中包含include.h頭文件,這樣做可以讓代碼看上去簡潔,但實(shí)際忽視了編譯效率問題,而且代碼的可移植性也不好。 原則: A. 頭文件中適合放置接口的聲明,不適合放置實(shí)現(xiàn); B. 頭文件應(yīng)當(dāng)職責(zé)單一; C. 頭文件應(yīng)向穩(wěn)定的方向包含。 規(guī)則: A. 每一個.c文件應(yīng)有一個同名.h文件,用于聲明需要對外公開的接口; B. 禁止頭文件循環(huán)依賴; C. .c/.h文件禁止包含用不到的頭文件; D. 頭文件應(yīng)當(dāng)自包含; E. 總是編寫內(nèi)部#include保護(hù)符( #define 保護(hù)); F. 禁止在頭文件中定義變量; G. 只能通過包含頭文件的方式使用其他.c提供的接口,禁止在.c中通過extern的方式使用外部函數(shù)接口、變量; H. 禁止在extern "C"中包含頭文件。 建議: A. 一個模塊通常包含多個.c文件,建議放在同一個目錄下,目錄名即為模塊名。為方便外部使用者,建議每一個模塊提供一個.h,文件名為目錄名; B. 如果一個模塊包含多個子模塊,則建議每一個子模塊提供一個對外的.h,文件名為子模塊名(降低接口使用者的編寫難度); C. 頭文件不要使用非習(xí)慣用法的擴(kuò)展名,如.inc; D. 同一產(chǎn)品統(tǒng)一包含頭文件排列方式。 2. 函數(shù) 函數(shù)設(shè)計(jì)的要點(diǎn):編寫整潔的函數(shù),同時(shí)把代碼有效組織起來。 函數(shù)整潔的要求:代碼簡單直接、不隱藏設(shè)計(jì)者的意圖、用干凈利落的抽象和直截了當(dāng)?shù)目刂普Z句將函數(shù)有機(jī)組織起來。 原則: A. 一個函數(shù)僅完成一件功能; B. 重復(fù)代碼應(yīng)該盡可能提煉成函數(shù). 規(guī)則: A. 避免函數(shù)過長,新增函數(shù)不超過100行(非空非注釋行); B. 避免函數(shù)的代碼塊嵌套過深,新增函數(shù)的代碼塊嵌套不超過4層; C. 可重入函數(shù)應(yīng)避免使用共享變量;若需要使用,則應(yīng)通過互斥手段(關(guān)中斷、信號量)對其加以保護(hù); D. 對參數(shù)的合法性檢查,由調(diào)用者負(fù)責(zé)還是由接口函數(shù)負(fù)責(zé),應(yīng)在項(xiàng)目組/模塊內(nèi)應(yīng)統(tǒng)一規(guī)定; E. 對函數(shù)的錯誤返回碼要全面處理; F. 設(shè)計(jì)高扇入,合理扇出(小于7)的函數(shù); G. 廢棄代碼(沒有被調(diào)用的函數(shù)和變量)要及時(shí)清除。 建議: A. 函數(shù)不變參數(shù)使用const; B. 函數(shù)應(yīng)避免使用全局變量、靜態(tài)局部變量和I/O操作,不可避免的地方應(yīng)集中使用; C. 檢查函數(shù)所有非參數(shù)輸入的有效性,如數(shù)據(jù)文件、公共變量等; D. 函數(shù)的參數(shù)個數(shù)不超過5個; E. 除打印類函數(shù)外,不要使用可變長參函數(shù); F. 在源文件范圍內(nèi)聲明和定義的所有函數(shù),除非外部可見,否則應(yīng)該增加static關(guān)鍵字。 3. 標(biāo)識符命名與定義 程序命名是一個關(guān)鍵,如果命名不規(guī)范,自己寫的代碼,時(shí)間長了恐怕連自己都不知道是什么意思了。 3.1通用命名規(guī)則 常見命名風(fēng)格: A. 用下劃線?_?分割,如text_mutex; B. 大小寫字母混用,如ReadRFCText。 規(guī)則: A. 標(biāo)識符的命名要清晰、明了,有明確含義,同時(shí)使用完整的單詞或大家基本可以理解的縮寫,避免使人產(chǎn)生誤解; B. 除了常見的通用縮寫以外,不使用單詞縮寫,不得使用漢語拼音; C. 產(chǎn)品/項(xiàng)目組內(nèi)部應(yīng)保持統(tǒng)一的命名風(fēng)格. 建議: A. 用正確的反義詞組命名具有互斥意義的變量或相反動作的函數(shù)等;
軟件開發(fā) C語言 編程 程序
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1MDD品牌三極管MMBT3906數(shù)據(jù)手冊
  2. 2.33 MB  |  次下載  |  免費(fèi)
  3. 2MDD品牌三極管S9012數(shù)據(jù)手冊
  4. 2.62 MB  |  次下載  |  免費(fèi)
  5. 3聯(lián)想flex2-14D/15D說明書
  6. 4.92 MB   |  次下載  |  免費(fèi)
  7. 4收音環(huán)繞擴(kuò)音機(jī) AVR-1507手冊
  8. 2.50 MB   |  次下載  |  免費(fèi)
  9. 524Pin Type-C連接器設(shè)計(jì)報(bào)告
  10. 1.06 MB   |  次下載  |  免費(fèi)
  11. 6新一代網(wǎng)絡(luò)可視化(NPB 2.0)
  12. 3.40 MB  |  次下載  |  免費(fèi)
  13. 7MS1000TA 超聲波測量模擬前端芯片技術(shù)手冊
  14. 0.60 MB   |  次下載  |  免費(fèi)
  15. 8MS1022高精度時(shí)間測量(TDC)電路數(shù)據(jù)手冊
  16. 1.81 MB   |  次下載  |  免費(fèi)

本月

  1. 1愛華AIWA HS-J202維修手冊
  2. 3.34 MB   |  37次下載  |  免費(fèi)
  3. 2PC5502負(fù)載均流控制電路數(shù)據(jù)手冊
  4. 1.63 MB   |  23次下載  |  免費(fèi)
  5. 3NB-IoT芯片廠商的資料說明
  6. 0.31 MB   |  22次下載  |  1 積分
  7. 4H110主板CPU PWM芯片ISL95858HRZ-T核心供電電路圖資料
  8. 0.63 MB   |  6次下載  |  1 積分
  9. 5UWB653Pro USB口測距通信定位模塊規(guī)格書
  10. 838.47 KB  |  5次下載  |  免費(fèi)
  11. 6技嘉H110主板IT8628E_BX IO電路圖資料
  12. 2.61 MB   |  4次下載  |  1 積分
  13. 7蘇泊爾DCL6907(即CHK-S007)單芯片電磁爐原理圖資料
  14. 0.04 MB   |  4次下載  |  1 積分
  15. 8100W準(zhǔn)諧振反激式恒流電源電路圖資料
  16. 0.09 MB   |  2次下載  |  1 積分

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935137次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
  4. 1.48MB  |  420064次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233089次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費(fèi)下載
  8. 340992  |  191439次下載  |  10 積分
  9. 5十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
  10. 158M  |  183353次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81602次下載  |  10 積分
  13. 7Keil工具M(jìn)DK-Arm免費(fèi)下載
  14. 0.02 MB  |  73822次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65991次下載  |  10 積分
磴口县| 茶陵县| 徐汇区| 车致| 福海县| 炎陵县| 迁西县| 耿马| 阜阳市| 甘谷县| 孝感市| 东阿县| 金秀| 嘉祥县| 西乌| 夏河县| 特克斯县| 阿克苏市| 日喀则市| 彰武县| 涟水县| 永和县| 浮山县| 古浪县| 建德市| 惠水县| 南康市| 祁连县| 桐乡市| 桐梓县| 屏东县| 峨眉山市| 阳泉市| 丰都县| 仁怀市| 临桂县| 安龙县| 邳州市| 鱼台县| 峡江县| 马尔康县|