資料介紹
Ⅰ 寫在前面
不知道大家有沒有這樣的感受:看到不規(guī)范(雜亂差)的代碼,瞬間就沒有看下去的欲望了。
相信大家看到標(biāo)題都應(yīng)該能明白編程的規(guī)范及原則對于每一個軟件開發(fā)的工程師來說是多么重要。
初學(xué)者編寫測試程序、小的模塊程序也許不能感受它的重要性;但有經(jīng)驗及大型項目開發(fā)的人就知道程序的規(guī)范性對他們來說是有多么的重要。
Ⅱ 關(guān)于編程規(guī)范及原則
編程規(guī)范也就是編寫出簡潔、可維護、可靠、可測試、高效、可移植的代碼,提高產(chǎn)品代碼的質(zhì)量。
本文針對嵌入式,主要結(jié)合C語言編程的規(guī)范給大家講述。
1. 頭文件
對于C語言來說,頭文件的設(shè)計體現(xiàn)了大部分的系統(tǒng)設(shè)計,不合理的頭文件布局是編譯時間過長的原因。
有很多人將工程中所有的頭文件包含在一個include.h文件中,然后在每一個.c源代碼文件中包含include.h頭文件,這樣做可以讓代碼看上去簡潔,但實際忽視了編譯效率問題,而且代碼的可移植性也不好。
原則:
A. 頭文件中適合放置接口的聲明,不適合放置實現(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保護符( #define 保護);
F. 禁止在頭文件中定義變量;
G. 只能通過包含頭文件的方式使用其他.c提供的接口,禁止在.c中通過extern的方式使用外部函數(shù)接口、變量;
H. 禁止在extern "C"中包含頭文件。
建議:
A. 一個模塊通常包含多個.c文件,建議放在同一個目錄下,目錄名即為模塊名。為方便外部使用者,建議每一個模塊提供一個.h,文件名為目錄名;
B. 如果一個模塊包含多個子模塊,則建議每一個子模塊提供一個對外的.h,文件名為子模塊名(降低接口使用者的編寫難度);
C. 頭文件不要使用非習(xí)慣用法的擴展名,如.inc;
D. 同一產(chǎn)品統(tǒng)一包含頭文件排列方式。
2. 函數(shù)
函數(shù)設(shè)計的要點:編寫整潔的函數(shù),同時把代碼有效組織起來。
函數(shù)整潔的要求:代碼簡單直接、不隱藏設(shè)計者的意圖、用干凈利落的抽象和直截了當(dāng)?shù)目刂普Z句將函數(shù)有機組織起來。
原則:
A. 一個函數(shù)僅完成一件功能;
B. 重復(fù)代碼應(yīng)該盡可能提煉成函數(shù).
規(guī)則:
A. 避免函數(shù)過長,新增函數(shù)不超過100行(非空非注釋行);
B. 避免函數(shù)的代碼塊嵌套過深,新增函數(shù)的代碼塊嵌套不超過4層;
C. 可重入函數(shù)應(yīng)避免使用共享變量;若需要使用,則應(yīng)通過互斥手段(關(guān)中斷、信號量)對其加以保護;
D. 對參數(shù)的合法性檢查,由調(diào)用者負責(zé)還是由接口函數(shù)負責(zé),應(yīng)在項目組/模塊內(nèi)應(yīng)統(tǒng)一規(guī)定;
E. 對函數(shù)的錯誤返回碼要全面處理;
F. 設(shè)計高扇入,合理扇出(小于7)的函數(shù);
G. 廢棄代碼(沒有被調(diào)用的函數(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ī)范,自己寫的代碼,時間長了恐怕連自己都不知道是什么意思了。
3.1通用命名規(guī)則
常見命名風(fēng)格:
A. 用下劃線?_?分割,如text_mutex;
B. 大小寫字母混用,如ReadRFCText。
規(guī)則:
A. 標(biāo)識符的命名要清晰、明了,有明確含義,同時使用完整的單詞或大家基本可以理解的縮寫,避免使人產(chǎn)生誤解;
B. 除了常見的通用縮寫以外,不使用單詞縮寫,不得使用漢語拼音;
C. 產(chǎn)品/項目組內(nèi)部應(yīng)保持統(tǒng)一的命名風(fēng)格.
建議:
A. 用正確的反義詞組命名具有互斥意義的變量或相反動作的函數(shù)等;
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 嵌入式工程師入門的那些事
- 學(xué)習(xí)嵌入式開發(fā)前景問題解答
- 嵌入式開發(fā)教程哪家好?linux嵌入式系統(tǒng)開發(fā)
- 嵌入式工程師培訓(xùn)技能 嵌入式開發(fā)學(xué)什么?
- 成為一名優(yōu)秀的嵌入式開發(fā)工程師有哪些要求?
- 學(xué)習(xí)嵌入式開發(fā)怎么樣?嵌入式開發(fā)工程師的職責(zé)有哪些?
- python做嵌入式開發(fā)_Python和嵌入式的區(qū)別是什么?可以做嵌入式開發(fā)嗎?
- 嵌入式開發(fā)資料免費分享
- 嵌入式工程師是如何煉成的
- 嵌入式開發(fā)(一):嵌入式開發(fā)新手入門
- 嵌入式開發(fā)7個易操作的技巧資料下載
- 如何成為高級嵌入式工程師?資料下載
- 如何快速熟練掌握嵌入式開發(fā)嵌入式開發(fā)工程師需要做哪些事情
- 嵌入式開發(fā)中CPU大端和小端模式的詳細資料和程序分析講解
- 嵌入式開發(fā)Linux網(wǎng)絡(luò)編程培訓(xùn)資料的詳細資料免費下載 34次下載
- fpga是嵌入式開發(fā)嗎 1103次閱讀
- 嵌入式開發(fā)的產(chǎn)品有哪些_嵌入式開發(fā)的流程 1.1w次閱讀
- 英創(chuàng)信息技術(shù)關(guān)于嵌入式工程師建議 1727次閱讀
- 詳細盤點工程師嵌入式開發(fā)必備工具讓工作事半功倍 5737次閱讀
- 嵌入式系統(tǒng)的七個開發(fā)技巧資料合集 3099次閱讀
- 為什么說嵌入式開發(fā)比單片機要難很多? 5747次閱讀
- 嵌入式軟件開發(fā)編程規(guī)范及原則 6765次閱讀
- 嵌入式開發(fā)好學(xué)嗎_嵌入式開發(fā)職業(yè)發(fā)展方向是什么 9207次閱讀
- 嵌入式軟件工程師和嵌入式硬件工程師有什么區(qū)別 7.1w次閱讀
- 學(xué)嵌入式開發(fā)難嗎_學(xué)好嵌入式開發(fā)需要多久 1.5w次閱讀
- 學(xué)嵌入式開發(fā)入門_學(xué)嵌入式開發(fā)需要看哪些書籍 2.5w次閱讀
- 成為一個正式的嵌入式開發(fā)工程師,需要知道的嵌入式系統(tǒng)開發(fā)7大技巧 1w次閱讀
- 嵌入式開發(fā)環(huán)境的搭建 8550次閱讀
- 嵌入式開發(fā)就業(yè)前景分析_嵌入式領(lǐng)域的職業(yè)發(fā)展方向 1.8w次閱讀
- 工程師視角:學(xué)習(xí)嵌入式的十三個重要法則 1464次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費下載
- 0.00 MB | 1491次下載 | 免費
- 2單片機典型實例介紹
- 18.19 MB | 95次下載 | 1 積分
- 3S7-200PLC編程實例詳細資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識別和講解說明
- 4.28 MB | 18次下載 | 4 積分
- 5開關(guān)電源原理及各功能電路詳解
- 0.38 MB | 11次下載 | 免費
- 6100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 7基于單片機和 SG3525的程控開關(guān)電源設(shè)計
- 0.23 MB | 4次下載 | 免費
- 8基于AT89C2051/4051單片機編程器的實驗
- 0.11 MB | 4次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費
- 4LabView 8.0 專業(yè)版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費
- 5555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33562次下載 | 免費
- 6接口電路圖大全
- 未知 | 30320次下載 | 免費
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費
- 8開關(guān)電源設(shè)計實例指南
- 未知 | 21539次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537793次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191183次下載 | 免費
- 7十天學(xué)會AVR單片機與C語言視頻教程 下載
- 158M | 183277次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138039次下載 | 免費
評論