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

 找回密碼
 注冊會員

QQ登錄

只需一步,快速開始

搜索
查看: 3414|回復: 5

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

[復制鏈接]
1#
發表于 2017-8-6 10:30:29 | 只看該作者 |倒序瀏覽 |閱讀模式
本規范主要針對單片機編程語言和08編譯器而言,包括排版、注釋、命名、變量使用、代碼可測性、程序效率、質量保證等內容。
$ B+ T  y$ ?, h$ Z. L; X5 D
1.基本規則 2 L4 k9 k, ^  `  |5 ?
格式清晰、注釋簡明扼要、命名規范易懂、函數模塊化、程序易讀易維護、功能準確實現、代碼空間效率和時間效率高、適度的可擴展性、單片機編程規范-標識符命名
6 J7 C* m2 n; N
2.標識符命名 2.1 命名基本原則 0 Q- W4 Q, H! O: F  a0 e' P
1)命名清晰明了,有明確含義,使用完整單詞或約定俗成的縮寫。通常,較短的單詞可通過去掉元音字母形成縮寫;較長的單詞可取單詞的頭幾個字母形成縮寫。即"見名知意"。(2)命名風格要自始至終保持一致。
: u* f4 j& P& x4 c8 |2 D- @  {- ~
3)命名中若使用特殊約定或縮寫,要有注釋說明。
: O" A: j9 ~! F
4)同一軟件產品內模塊之間接口部分的標識符名稱之前加上模塊標識。" a" L( ~; x: ^3 H/ V- }8 u2 W2 v
2.2 宏和常量命名 & e/ c" B; R# a3 v  \
宏和常量用全部大寫字母來命名,詞與詞之間用下劃線分隔。對程序中用到的數字均應用有意義的枚舉或宏來代替。
& P" l" n- l$ s8 C9 k/ `7 f
2.3 變量命名 8 l8 t- S- i1 b: ~! G; C0 h2 \) i
變量名用小寫字母命名,每個詞的第一個字母大寫。類型前綴(u8\s8 etc.)全局變量另加前綴g_。
) Y8 c+ b& g1 u  R6 z( B; I( q
局部變量應簡明扼要。局部循環體控制變量優先使用i、j、k等;局部長度變量優先使用len、num等;臨時中間變量優先使用temp、tmp等。( h' G% t2 R; Z+ z+ D7 m; ]
2.4 函數命名 6 r2 @7 [1 i1 f% N/ h
函數名用小寫字母命名,每個詞的第一個字母大寫,并將模塊標識加在最前面。" M1 q5 ^1 C0 u0 y' o" s
2.5 文件命名
3 I" p" V( S/ |( n  Y8 ^& I+ j
一個文件包含一類功能或一個模塊的所有函數,文件名稱應清楚表明其功能或性質。
! |7 O8 p! c8 N4 x' i
每個.c文件應該有一個同名的.h文件作為頭文件。
0 ?9 X; S* l* G# h( W: a: n
3.注釋 3.1 注釋基本原則
% w4 U. V4 d5 `4 \+ n9 l+ j
有助于對程序的閱讀理解,說明程序在"做什么",解釋代碼的目的、功能和采用的方法。  B  w; @$ X. T' E8 I# w
一般情況源程序有效注釋量在30%左右。' |3 P8 ]4 {9 D. Q% S
注釋語言必須準確、易懂、簡潔。! b1 {' }6 g3 Y* U
邊寫代碼邊注釋,修改代碼同時修改相應的注釋,不再有用的注釋要刪除。! s, \- r7 ~  N2 `5 r' V
匯編和C中都用"//",取消";"  不使用段注釋" /*  */ "(調試時可用) ( o, ~0 `8 \+ C  u1 q6 K/ I
3.2 文件注釋 0 P& V; U0 Y3 b( D4 z/ g( ]6 W
文件注釋必須說明文件名、函數功能、創建人、創建日期、版本信息等相關信息。
% _9 S. Z4 u; z$ ^& q
修改文件代碼時,應在文件注釋中記錄修改日期、修改人員,并簡要說明此次修改的目的。所有修改記錄必須保持完整。" [) b5 o/ {' K: {( i( n( E# B
文件注釋放在文件頂端,用"/*……*/"格式包含。! }* [7 O& H6 @/ Y
注釋文本每行縮進4個空格;每個注釋文本分項名稱應對齊。2 T5 |' \1 f' F
/***********************************************************4 {" u$ p; p8 K5 ]  p2 z1 R
文件名稱:
2 J) p, ^. \) v* ]
者:) h/ H% T7 F6 c7 v, _
本:3 V) A. \  I2 y. \( m* a7 z9 _
明:
) \, T+ _  P9 l+ Z9 `* x* \
修改記錄:& {- p# ]) T' g
***********************************************************/  f) h1 S9 `& R6 i& ?2 E+ {
3.3 函數注釋 6 g' }3 z$ h& y7 [+ E
3.3.1 函數頭部注釋
+ [, Z& A4 Y3 i2 @8 G
函數頭部注釋應包括函數名稱、函數功能、入口參數、出口參數等內容。如有必要還可增加作者、創建日期、修改記錄(備注)等相關項目。2 W8 {$ m: a/ a, C+ S/ b
函數頭部注釋放在每個函數的頂端,用"/*……*/"的格式包含。其中函數名稱應簡寫為Name(),不加入、出口參數等信息。
1 N$ \. @3 U! r: c/ ^  P+ d
/***********************************************************
6 X3 E1 h$ y- y. G" k
函數名稱:6 H) C: m2 }2 e; M
函數功能:# v' \- O) C- ^2 X5 t# P. y+ K: H
入口參數:
; X  z3 \& I  a4 o, M
出口參數:* u3 X2 f8 W4 q5 a& C  e
注:8 ^9 }/ I' G* `7 K2 L& U
***********************************************************/9 J5 Q( d. q4 w' T* Y/ T& R: \, Z
3.3.2 代碼注釋信、盈、達‘騰訊:以一齊捂捂吧久零久要’
5 {# w9 U8 X0 u& B. Y# @
代碼注釋應與被注釋的代碼緊鄰,放在其上方或右方,不可放在下面。如放于上方則需與其上面的代碼用空行隔開。一般少量注釋應該添加在被注釋語句的行2尾,一個函數內的多個注釋左對齊;較多注釋則應加在上方且注釋行與被注釋的語句左對齊。
& z, M4 _% a- V8 ~' n1 m' g
函數代碼注釋用"//…//"的格式。. W) d" \" Y3 o8 a  i2 d
通常,分支語句(條件分支、循環語句等)必須編寫注釋。其程序塊結束行"}"的右方應加表明該程序塊結束的標記"end of ……", 尤其在多重嵌套時。
6 G4 i9 k. _- r) Q' H: i
3.4 變量、常量、宏的注釋
3 {8 y: D7 B4 l3 z1 a( h- c
同一類型的標識符應集中定義,并在定義之前一行對其共性加以統一注釋。對單個標識符的注釋加在定義語句的行尾。' y% `' x% O& }$ A- v9 B
全局變量一定要有詳細的注釋,包括其功能、取值范圍、哪些函數或過程存取它以及存取時的注意事項等。
: x! h9 R* R2 }" |, c; w( Q
注釋用"//…//"的格式。 : u8 Z3 m5 W# W3 j

, \/ K2 y0 u( w4 T
回復

使用道具 舉報

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-19 17:37 , Processed in 0.072026 second(s), 14 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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