久久久国产一区二区_国产精品av电影_日韩精品中文字幕一区二区三区_精品一区二区三区免费毛片爱

 找回密碼
 注冊會員

QQ登錄

只需一步,快速開始

搜索
查看: 3417|回復: 5

單片機開發之C語言編程基本規范

[復制鏈接]
1#
發表于 2017-8-6 10:30:29 | 只看該作者 |倒序瀏覽 |閱讀模式
本規范主要針對單片機編程語言和08編譯器而言,包括排版、注釋、命名、變量使用、代碼可測性、程序效率、質量保證等內容。 8 n% z3 L- X# f- h( W+ m4 q
1.基本規則 : A8 |" Y; S, q% Z1 f
格式清晰、注釋簡明扼要、命名規范易懂、函數模塊化、程序易讀易維護、功能準確實現、代碼空間效率和時間效率高、適度的可擴展性、單片機編程規范-標識符命名
6 y5 q( I: q4 _* @: G8 m. M$ Z
2.標識符命名 2.1 命名基本原則 5 f2 p8 @4 h5 D& e. W
1)命名清晰明了,有明確含義,使用完整單詞或約定俗成的縮寫。通常,較短的單詞可通過去掉元音字母形成縮寫;較長的單詞可取單詞的頭幾個字母形成縮寫。即"見名知意"。(2)命名風格要自始至終保持一致。
% x" M" h  k6 f' t# G0 m
3)命名中若使用特殊約定或縮寫,要有注釋說明。0 u) C8 g' _7 X5 R; h# I9 B0 {. }
4)同一軟件產品內模塊之間接口部分的標識符名稱之前加上模塊標識。, o% m( h/ l; |0 k
2.2 宏和常量命名 3 Y1 @& x: g( q1 Z+ [
宏和常量用全部大寫字母來命名,詞與詞之間用下劃線分隔。對程序中用到的數字均應用有意義的枚舉或宏來代替。
$ p5 M% d+ q; a6 i
2.3 變量命名 7 f" E5 g6 E2 x
變量名用小寫字母命名,每個詞的第一個字母大寫。類型前綴(u8\s8 etc.)全局變量另加前綴g_。8 d. s' ?3 S/ |# T1 g. s" G/ K# b1 ^) B
局部變量應簡明扼要。局部循環體控制變量優先使用i、j、k等;局部長度變量優先使用len、num等;臨時中間變量優先使用temp、tmp等。* D( G" n* d- l1 ]( p+ J1 y( f) o
2.4 函數命名
, F' a9 }- P8 i" ^  y. `4 }- q! j
函數名用小寫字母命名,每個詞的第一個字母大寫,并將模塊標識加在最前面。8 }8 |6 P# R, h% O2 I5 I
2.5 文件命名
+ H0 i9 _% C1 {1 |, S
一個文件包含一類功能或一個模塊的所有函數,文件名稱應清楚表明其功能或性質。$ C" j' s# F" p
每個.c文件應該有一個同名的.h文件作為頭文件。
4 k, G8 Y( s. N8 J( l0 }' @( l( i
3.注釋 3.1 注釋基本原則
3 g' V; Q3 b4 N
有助于對程序的閱讀理解,說明程序在"做什么",解釋代碼的目的、功能和采用的方法。- N8 p. q  a( E" c6 |
一般情況源程序有效注釋量在30%左右。
2 ?- `# K" ], O$ p5 N1 x9 |
注釋語言必須準確、易懂、簡潔。% I$ i# M- ]2 M
邊寫代碼邊注釋,修改代碼同時修改相應的注釋,不再有用的注釋要刪除。& h% g7 @$ P- E. |8 R, Z* Y
匯編和C中都用"//",取消";"  不使用段注釋" /*  */ "(調試時可用) 7 n" R/ A% Q( @. w+ @
3.2 文件注釋 9 f7 n- ?! W( J- S/ B  s
文件注釋必須說明文件名、函數功能、創建人、創建日期、版本信息等相關信息。
+ ]/ |0 H" h, x0 j+ z
修改文件代碼時,應在文件注釋中記錄修改日期、修改人員,并簡要說明此次修改的目的。所有修改記錄必須保持完整。
2 K) P& x2 m( T
文件注釋放在文件頂端,用"/*……*/"格式包含。. r# W1 _! V* `
注釋文本每行縮進4個空格;每個注釋文本分項名稱應對齊。
% |0 m. P2 l0 S9 l* q* a- O+ M+ A4 Y
/***********************************************************
' D; ~" a8 G. x
文件名稱:
6 E# w% s6 N( K% [
者:2 u( ^8 p9 V( W8 w4 X
本:
& r* g: @+ q4 z: p* }
明:3 T; L( a' K8 M3 d
修改記錄:2 e! N. s! m" F; e& J+ o
***********************************************************/
6 i- u, \4 Z) ~1 }0 w2 J$ h
3.3 函數注釋
8 h* x3 F6 _# C- _
3.3.1 函數頭部注釋
: A9 t/ Q) M7 v" E
函數頭部注釋應包括函數名稱、函數功能、入口參數、出口參數等內容。如有必要還可增加作者、創建日期、修改記錄(備注)等相關項目。3 T* i3 k, T' r% ~) J
函數頭部注釋放在每個函數的頂端,用"/*……*/"的格式包含。其中函數名稱應簡寫為Name(),不加入、出口參數等信息。
8 X6 @$ r9 Y. P. M
/***********************************************************! c  x" u  _3 L3 O( w' Z; @
函數名稱:
1 B/ u, Y: A" z2 u7 L; J  b- G
函數功能:8 ?  A: X) e& t1 `$ e/ a
入口參數:  z7 W( r$ H7 _; D5 J, ?
出口參數:
4 g4 J& y/ O2 J, }1 n
注:0 h: k/ R" j6 R/ f
***********************************************************/$ C5 t* G! z$ S6 E2 U8 x% r+ S- d
3.3.2 代碼注釋信、盈、達‘騰訊:以一齊捂捂吧久零久要’4 |: u8 V8 u% V" v/ w
代碼注釋應與被注釋的代碼緊鄰,放在其上方或右方,不可放在下面。如放于上方則需與其上面的代碼用空行隔開。一般少量注釋應該添加在被注釋語句的行2尾,一個函數內的多個注釋左對齊;較多注釋則應加在上方且注釋行與被注釋的語句左對齊。
. y! S& |; {) p% K  F' M
函數代碼注釋用"//…//"的格式。4 h( y( v; ^& {+ ?7 ?7 q1 \% _
通常,分支語句(條件分支、循環語句等)必須編寫注釋。其程序塊結束行"}"的右方應加表明該程序塊結束的標記"end of ……", 尤其在多重嵌套時。3 m( b5 ^# H1 c0 z# c' G
3.4 變量、常量、宏的注釋 , O1 [, T' m1 W8 v4 ~; _% f
同一類型的標識符應集中定義,并在定義之前一行對其共性加以統一注釋。對單個標識符的注釋加在定義語句的行尾。1 n4 Z9 ?# h; m0 f3 c( }
全局變量一定要有詳細的注釋,包括其功能、取值范圍、哪些函數或過程存取它以及存取時的注意事項等。1 z) c2 z( S+ R( @8 y! u
注釋用"//…//"的格式。
& k  F) Q- b- {5 h' ?1 D1 l2 m
& s) F3 [% d* A, f1 _! D6 G
回復

使用道具 舉報

2#
發表于 2017-8-6 14:24:58 | 只看該作者
不僅單片機,其余機械相關控制程序開發也應該這樣編程!
3#
發表于 2017-8-6 15:43:31 | 只看該作者
謝謝,先收藏起來
4#
發表于 2017-8-6 19:40:13 | 只看該作者
單片機的基礎知識,值得收藏一波~
5#
發表于 2017-8-8 11:04:22 | 只看該作者
學習了
回復

使用道具 舉報

6#
 樓主| 發表于 2017-8-9 18:14:16 | 只看該作者
共同學習進步
您需要登錄后才可以回帖 登錄 | 注冊會員

本版積分規則

Archiver|手機版|小黑屋|機械社區 ( 京ICP備10217105號-1,京ICP證050210號,浙公網安備33038202004372號 )

GMT+8, 2025-7-20 06:51 , Processed in 0.083143 second(s), 14 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回復 返回頂部 返回列表