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

機械社區

標題: 單片機開發之C語言編程基本規范 [打印本頁]

作者: tainqing    時間: 2017-8-6 10:30
標題: 單片機開發之C語言編程基本規范
本規范主要針對單片機編程語言和08編譯器而言,包括排版、注釋、命名、變量使用、代碼可測性、程序效率、質量保證等內容。   k& f3 P$ l; S' h2 I3 z/ i; q
1.基本規則
1 _4 {' k% k1 b$ R& o/ r! X
格式清晰、注釋簡明扼要、命名規范易懂、函數模塊化、程序易讀易維護、功能準確實現、代碼空間效率和時間效率高、適度的可擴展性、單片機編程規范-標識符命名
8 k4 Z; p5 I6 }
2.標識符命名 2.1 命名基本原則 * N6 [/ K$ |/ I- Z
1)命名清晰明了,有明確含義,使用完整單詞或約定俗成的縮寫。通常,較短的單詞可通過去掉元音字母形成縮寫;較長的單詞可取單詞的頭幾個字母形成縮寫。即"見名知意"。(2)命名風格要自始至終保持一致。 . f) t0 z8 f4 A6 v$ ~
3)命名中若使用特殊約定或縮寫,要有注釋說明。
4 t) q3 @/ i! T% d) S
4)同一軟件產品內模塊之間接口部分的標識符名稱之前加上模塊標識。& u9 u8 m6 O3 M" J
2.2 宏和常量命名
, X" W. I1 X/ z7 A2 u  e
宏和常量用全部大寫字母來命名,詞與詞之間用下劃線分隔。對程序中用到的數字均應用有意義的枚舉或宏來代替。
$ w; t. f0 q0 h
2.3 變量命名 ' S( U, B7 X  t5 i/ Y" |
變量名用小寫字母命名,每個詞的第一個字母大寫。類型前綴(u8\s8 etc.)全局變量另加前綴g_。  I( a: W% m! M9 ], o
局部變量應簡明扼要。局部循環體控制變量優先使用i、j、k等;局部長度變量優先使用len、num等;臨時中間變量優先使用temp、tmp等。: |2 f. i$ Z9 o
2.4 函數命名
* P, s' ?( n  t5 j! H3 B
函數名用小寫字母命名,每個詞的第一個字母大寫,并將模塊標識加在最前面。
0 f, E# `7 k! z5 V
2.5 文件命名 - |" p! `5 s* N  D
一個文件包含一類功能或一個模塊的所有函數,文件名稱應清楚表明其功能或性質。1 x9 m" Y" O  C8 |( a
每個.c文件應該有一個同名的.h文件作為頭文件。 ; d6 C: A5 m# m
3.注釋 3.1 注釋基本原則
2 ~- [( k0 t" V2 j
有助于對程序的閱讀理解,說明程序在"做什么",解釋代碼的目的、功能和采用的方法。8 o6 _2 Q& Q6 {2 W3 e
一般情況源程序有效注釋量在30%左右。
2 h1 D! z8 e- Q0 ?4 r9 q
注釋語言必須準確、易懂、簡潔。2 ?+ m' g/ K  {1 N' r
邊寫代碼邊注釋,修改代碼同時修改相應的注釋,不再有用的注釋要刪除。
9 ^: R  q0 c& n  y$ ?0 @
匯編和C中都用"//",取消";"  不使用段注釋" /*  */ "(調試時可用) % \; N5 k- B: b
3.2 文件注釋 8 N# w9 C+ l* N/ r1 C' H
文件注釋必須說明文件名、函數功能、創建人、創建日期、版本信息等相關信息。
& F# v& @. _8 F8 S* X# D  _7 a6 D
修改文件代碼時,應在文件注釋中記錄修改日期、修改人員,并簡要說明此次修改的目的。所有修改記錄必須保持完整。
: V6 e. P/ x! i- J' H
文件注釋放在文件頂端,用"/*……*/"格式包含。+ `6 e+ R  z7 z$ D" Z
注釋文本每行縮進4個空格;每個注釋文本分項名稱應對齊。: q; k3 d1 M( S- h+ b  K9 U
/***********************************************************8 z6 c3 r- W, ~" ^' I+ a% ~* {' V
文件名稱:  q& \# P5 e+ n8 v; o6 c/ C1 Z: }
者:; y. d$ L! o. n& q8 w. t+ O6 Q8 n- }
本:
: D% h. M( k& E8 n4 g
明:9 e8 B  o, L/ t  v" Y
修改記錄:
8 [, L5 o' q% `6 w* Z8 V3 B
***********************************************************/
! d2 p5 g7 d0 k1 s
3.3 函數注釋 6 |/ D4 x( g! _& y$ t4 O/ j4 L5 ^
3.3.1 函數頭部注釋
8 j6 w/ e) {6 r5 ^7 Z8 D; |
函數頭部注釋應包括函數名稱、函數功能、入口參數、出口參數等內容。如有必要還可增加作者、創建日期、修改記錄(備注)等相關項目。7 l7 y+ Y2 k( G1 H) w8 t8 I
函數頭部注釋放在每個函數的頂端,用"/*……*/"的格式包含。其中函數名稱應簡寫為Name(),不加入、出口參數等信息。
  F$ C# n/ s, p$ Z0 `$ F. E
/***********************************************************
; c% h4 v' w" |0 ~% X
函數名稱:  R+ j0 k  w6 |" u% i
函數功能:
5 S$ F0 w5 }, t$ z' i6 [
入口參數:
& K2 ~$ s3 C: f+ e/ {1 C$ {: `* d8 F
出口參數:
" U! x* E" y* Y1 `! v/ K# w
注:6 v& R5 ?( w0 H2 T4 b  W
***********************************************************/0 ~. W( {3 s4 s+ X. r/ x
3.3.2 代碼注釋信、盈、達‘騰訊:以一齊捂捂吧久零久要’
4 y7 s& I+ ?. }! F& {
代碼注釋應與被注釋的代碼緊鄰,放在其上方或右方,不可放在下面。如放于上方則需與其上面的代碼用空行隔開。一般少量注釋應該添加在被注釋語句的行2尾,一個函數內的多個注釋左對齊;較多注釋則應加在上方且注釋行與被注釋的語句左對齊。, I- I( W# k" m# S
函數代碼注釋用"//…//"的格式。
, n( I# b% s9 Y- J1 z
通常,分支語句(條件分支、循環語句等)必須編寫注釋。其程序塊結束行"}"的右方應加表明該程序塊結束的標記"end of ……", 尤其在多重嵌套時。
$ A2 c2 u4 x. f% X4 q
3.4 變量、常量、宏的注釋
6 ]3 D5 c5 ~& T& K; r  W
同一類型的標識符應集中定義,并在定義之前一行對其共性加以統一注釋。對單個標識符的注釋加在定義語句的行尾。
  G' a' A8 h8 w7 u- o
全局變量一定要有詳細的注釋,包括其功能、取值范圍、哪些函數或過程存取它以及存取時的注意事項等。7 F0 n. Z! i" m& M
注釋用"//…//"的格式。 ; {& z5 x5 A  c# C* t. @/ O+ E; i! W
& x& R8 J7 g4 D$ S) P5 S5 P

作者: 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.ytsybjq.com/) Powered by Discuz! X3.5