機械社區
標題: 單片機開發之C語言編程基本規范 [打印本頁]
作者: tainqing 時間: 2017-8-6 10:30
標題: 單片機開發之C語言編程基本規范
本規范主要針對單片機編程語言和08編譯器而言,包括排版、注釋、命名、變量使用、代碼可測性、程序效率、質量保證等內容。
3 q7 u/ C' f: @- v' W. U1.基本規則 6 G U" ]9 D. t; r2 v( F$ x
格式清晰、注釋簡明扼要、命名規范易懂、函數模塊化、程序易讀易維護、功能準確實現、代碼空間效率和時間效率高、適度的可擴展性、單片機編程規范-標識符命名
n1 l$ g' W X; V# U6 r+ a2.標識符命名 2.1 命名基本原則 : V$ }! P9 o \
(1)命名清晰明了,有明確含義,使用完整單詞或約定俗成的縮寫。通常,較短的單詞可通過去掉元音字母形成縮寫;較長的單詞可取單詞的頭幾個字母形成縮寫。即"見名知意"。(2)命名風格要自始至終保持一致。 . _2 ^, s3 R) c* s4 ^
(3)命名中若使用特殊約定或縮寫,要有注釋說明。! k# J& Y, y$ t
(4)同一軟件產品內模塊之間接口部分的標識符名稱之前加上模塊標識。
- ?6 n/ k" V2 |2.2 宏和常量命名
0 U1 U: ~! Z# }+ r8 f, P宏和常量用全部大寫字母來命名,詞與詞之間用下劃線分隔。對程序中用到的數字均應用有意義的枚舉或宏來代替。
/ p' ?) X- e" d3 y$ R$ r# ~0 J2.3 變量命名
( ] B" n6 C. @; v0 Z變量名用小寫字母命名,每個詞的第一個字母大寫。類型前綴(u8\s8 etc.)全局變量另加前綴g_。
$ D. Y% T; x7 S% j/ s( l局部變量應簡明扼要。局部循環體控制變量優先使用i、j、k等;局部長度變量優先使用len、num等;臨時中間變量優先使用temp、tmp等。
8 O6 |# x3 m$ R( T9 R* S- l; _, J2.4 函數命名 ' `" P- _3 G. P I
函數名用小寫字母命名,每個詞的第一個字母大寫,并將模塊標識加在最前面。
- W. x7 e6 }3 k# w7 o* n- N2.5 文件命名 $ F+ V9 D! V$ V& v' n1 g
一個文件包含一類功能或一個模塊的所有函數,文件名稱應清楚表明其功能或性質。; A% H0 P4 R* L6 q$ | J
每個.c文件應該有一個同名的.h文件作為頭文件。 + o u1 c2 U$ x
3.注釋 3.1 注釋基本原則
8 O o6 m3 o0 t9 j有助于對程序的閱讀理解,說明程序在"做什么",解釋代碼的目的、功能和采用的方法。
5 l4 B# |: ]. k/ y( E; ~一般情況源程序有效注釋量在30%左右。: _$ F/ z; X% v! X
注釋語言必須準確、易懂、簡潔。
% Z+ S% K, r2 g0 d7 O$ z# W邊寫代碼邊注釋,修改代碼同時修改相應的注釋,不再有用的注釋要刪除。
; a, j! t! {( ? W9 z' h匯編和C中都用"//",取消";" 不使用段注釋" /* */ "(調試時可用)
( R/ k: r+ @1 Q( }3.2 文件注釋
% @& Y# Q: F J( B/ M& j文件注釋必須說明文件名、函數功能、創建人、創建日期、版本信息等相關信息。
2 x+ q$ r( k$ ]+ O2 w. J修改文件代碼時,應在文件注釋中記錄修改日期、修改人員,并簡要說明此次修改的目的。所有修改記錄必須保持完整。
2 I2 S6 F `+ T文件注釋放在文件頂端,用"/*……*/"格式包含。
1 ]! y$ c$ b# f: U0 C" z注釋文本每行縮進4個空格;每個注釋文本分項名稱應對齊。/ D! `! D$ O. B9 f9 ?! C0 b m; A
/***********************************************************& J$ K2 o* P+ D* x
文件名稱:3 J5 s3 F6 ?6 N3 w L6 h
作 者:
6 a$ @' |4 k4 k; s版 本:
( v1 F- k& I8 y2 N# w- Y說 明:
8 t( l; M" j5 y- c/ E4 {修改記錄:
/ j/ Y% y' m" C5 b& P***********************************************************/6 @! i& c3 g, ]" \& F
3.3 函數注釋
% r& J8 N! d. d7 Y% w: r3.3.1 函數頭部注釋5 a" y! K- |: C; L- x9 E
函數頭部注釋應包括函數名稱、函數功能、入口參數、出口參數等內容。如有必要還可增加作者、創建日期、修改記錄(備注)等相關項目。
. E1 a5 n2 e# a+ @, I函數頭部注釋放在每個函數的頂端,用"/*……*/"的格式包含。其中函數名稱應簡寫為Name(),不加入、出口參數等信息。
+ Z" q+ @$ L/ J) F) y9 j/*********************************************************** U& D) W7 L, V& S& C9 c$ j7 {
函數名稱:
& E. H, a; ^/ _6 [+ N) x函數功能:7 V! i* F0 l1 e" F5 G
入口參數:
& ^' k) x1 @* R1 |0 p出口參數:7 O, D0 m0 a6 g' N+ Q
備 注:' K4 s. T1 s5 P' T# v# S
***********************************************************/: d9 i8 D$ `) ^
3.3.2 代碼注釋(信、盈、達‘騰訊:以一齊捂捂吧久零久要’)
4 G+ P* D$ x% Y) Z) e0 @代碼注釋應與被注釋的代碼緊鄰,放在其上方或右方,不可放在下面。如放于上方則需與其上面的代碼用空行隔開。一般少量注釋應該添加在被注釋語句的行2尾,一個函數內的多個注釋左對齊;較多注釋則應加在上方且注釋行與被注釋的語句左對齊。
1 G1 a4 Q( B3 k% M函數代碼注釋用"//…//"的格式。9 f/ H# e- w% g) \1 p
通常,分支語句(條件分支、循環語句等)必須編寫注釋。其程序塊結束行"}"的右方應加表明該程序塊結束的標記"end of ……", 尤其在多重嵌套時。
2 t, M- O, P$ g1 |' L+ }3.4 變量、常量、宏的注釋
' h* O* Q! `& y# o! s2 G同一類型的標識符應集中定義,并在定義之前一行對其共性加以統一注釋。對單個標識符的注釋加在定義語句的行尾。" G9 l! i! @" d; j& {2 |) a R, M1 \
全局變量一定要有詳細的注釋,包括其功能、取值范圍、哪些函數或過程存取它以及存取時的注意事項等。* L4 Q0 y( s) c5 X. e
注釋用"//…//"的格式。 U, i! N. w# `5 o% s4 [+ ~+ V
; V# ~2 T8 M) w1 L3 S
作者: liangquan6 時間: 2017-8-6 14:24
不僅單片機,其余機械相關控制程序開發也應該這樣編程!
作者: 面壁深功 時間: 2017-8-6 15:43
謝謝,先收藏起來
作者: xiaobing86203 時間: 2017-8-6 19:40
單片機的基礎知識,值得收藏一波~
作者: 武漢老虎 時間: 2017-8-8 11:04
學習了
作者: tainqing 時間: 2017-8-9 18:14
共同學習進步
歡迎光臨 機械社區 (http://www.odgf.cn/) |
Powered by Discuz! X3.4 |
主站蜘蛛池模板:
在线视频一区二区乱|
天天燥日日燥|
色偷拍 自怕 亚洲 10p|
国产一区二区三区|
国产亚洲精品久久久久丝瓜|
欧美丰满少妇xxxx性|
国产精品无码a∨麻豆|
欧美性黑人极品hd变态|
老太脱裤让老头玩ⅹxxxx|
欧洲 亚洲 国产图片综合|
加比勒色综合久久|
亚洲美女又黄又爽在线观看|
中文人妻精品一区二区三区四区|
欧美成人影院亚洲综合图
|
又粗又色又爽一区二区三区|
国产三级精品一区二区三级|
国产乱理伦片在线观看|
日本一区不卡在线播放视频|
极品少妇xxxx精品少妇偷拍|
高清中文字幕在线a片|
精品日韩欧美一区二区|
亚洲精品久久久无码一区二区
|
亚洲一区免费网站|
色噜噜狠狠一区二|
欧美中日韩免费观看网站
|
欧美性猛交xxxx黑人猛交|
公侵犯人妻中文字慕一区二区|
国产性色播播毛片|
人妻熟女 视频二区 视频一区|
中文字幕丰满乱子伦无码专区|
午夜a理论片在线播放|
国产精品免费视频一区二区三区|
好男人日本社区www|
午夜一区二区国产好的精华液|
97国产在线一区|
亚洲一区二区免费不卡视频|
麻豆文化传媒精品一区观看|
丰满无码人妻热妇无码区|
亚洲中文字幕无码天然素人|
一二三四日本中文在线|
欧美人与动牲交xxxxbbbb|