1.C語(yǔ)言書(shū)寫(xiě)規(guī)范
1.1符號(hào)命名規(guī)則
1.1.1符號(hào)名包括模塊名、常量名、標(biāo)號(hào)名、子程序名等。這些名字應(yīng)該能反映它所代表的實(shí)際東西,具有一定的意義,使其能夠見(jiàn)名知義,有助于對(duì)程序功能的理解。命名采用匈牙利命名法。規(guī)則如下:
(1)所有宏定義、枚舉常數(shù)和const變量,用大寫(xiě)字母命名。在復(fù)合詞里用下劃線隔開(kāi)每個(gè)詞。
(2)復(fù)合詞中每個(gè)單詞的第一個(gè)字母大寫(xiě)。除了規(guī)則5.1.1.1以外,避免使用下劃線。
(3)類、類型定義和枚舉型名的第一個(gè)字母大寫(xiě)。
(4)函數(shù)名是復(fù)合詞的,第一個(gè)詞采用全部小寫(xiě),隨后每個(gè)單詞采用第一個(gè)字母大寫(xiě),其它字母小寫(xiě)方式;如果是單個(gè)詞的,采用全部小寫(xiě)方式。
(5)循環(huán)變量可采用i, j, k等,不受上述規(guī)則限制。
(6) 類的成員變量應(yīng)采用m_開(kāi)頭。
(7) 全局變量詞頭為g_ 。
(8) 臨時(shí)變量詞頭為tmp_ 。
(9) 對(duì)結(jié)構(gòu)體內(nèi)的變量命名, 遵循變量的具體含義命名原則
(10)用小寫(xiě)字母的前綴表示變量的類型,前綴的下一個(gè)字母用大寫(xiě)。
表 1
詞 頭 類 型 詞 頭 類 型
ch char l long
i integer u unsigned
b boolean p pointer
f float lp long pointer
d double s string
st structure sz ASCII string
by byte n short int
H handle x,y 分別為x,y坐標(biāo)
dw DWORD fn function
表 2
詞 頭 變 量 名 詞 頭 變 量 名
task task sig signal
sb binary semaphores wd watchdog
sm mutual exclusion
semaphores tm timer
sc counting semaphores msg message
pipe pipe
例:
#define ARRAY_SIZE 24 /*規(guī)則5.1.1.1*/
int g_iFlag;
class MyClass /*規(guī)則5.1.1.3*/
{
};
void someFunc( ) /*規(guī)則5.1.1.2和5.1.1.4*/
{
.2.
Q/ECC/BJ 010—2001
int nArray[ARRAY_SIZE];
unsigned char uchByte;
char szName[ ];
char *pszName = szName;
}
(11)有些詞頭(如p和u)可以和其它詞頭組合。
例:WDOG_ID wdId;
WDOG_ID g_wdId; /*全局watchdog Id,故以g_開(kāi)頭*/
1.1.2名字的長(zhǎng)度一般不要過(guò)長(zhǎng)或過(guò)短。過(guò)長(zhǎng)的名字會(huì)增加工作量,使程序邏輯流程變得模糊;過(guò)短的名字無(wú)法表達(dá)符號(hào)的實(shí)際意義。約定長(zhǎng)度范圍:3-31;
1.1符號(hào)命名規(guī)則
1.1.1符號(hào)名包括模塊名、常量名、標(biāo)號(hào)名、子程序名等。這些名字應(yīng)該能反映它所代表的實(shí)際東西,具有一定的意義,使其能夠見(jiàn)名知義,有助于對(duì)程序功能的理解。命名采用匈牙利命名法。規(guī)則如下:
(1)所有宏定義、枚舉常數(shù)和const變量,用大寫(xiě)字母命名。在復(fù)合詞里用下劃線隔開(kāi)每個(gè)詞。
(2)復(fù)合詞中每個(gè)單詞的第一個(gè)字母大寫(xiě)。除了規(guī)則5.1.1.1以外,避免使用下劃線。
(3)類、類型定義和枚舉型名的第一個(gè)字母大寫(xiě)。
(4)函數(shù)名是復(fù)合詞的,第一個(gè)詞采用全部小寫(xiě),隨后每個(gè)單詞采用第一個(gè)字母大寫(xiě),其它字母小寫(xiě)方式;如果是單個(gè)詞的,采用全部小寫(xiě)方式。
(5)循環(huán)變量可采用i, j, k等,不受上述規(guī)則限制。
(6) 類的成員變量應(yīng)采用m_開(kāi)頭。
(7) 全局變量詞頭為g_ 。
(8) 臨時(shí)變量詞頭為tmp_ 。
(9) 對(duì)結(jié)構(gòu)體內(nèi)的變量命名, 遵循變量的具體含義命名原則
(10)用小寫(xiě)字母的前綴表示變量的類型,前綴的下一個(gè)字母用大寫(xiě)。
表 1
詞 頭 類 型 詞 頭 類 型
ch char l long
i integer u unsigned
b boolean p pointer
f float lp long pointer
d double s string
st structure sz ASCII string
by byte n short int
H handle x,y 分別為x,y坐標(biāo)
dw DWORD fn function
表 2
詞 頭 變 量 名 詞 頭 變 量 名
task task sig signal
sb binary semaphores wd watchdog
sm mutual exclusion
semaphores tm timer
sc counting semaphores msg message
pipe pipe
例:
#define ARRAY_SIZE 24 /*規(guī)則5.1.1.1*/
int g_iFlag;
class MyClass /*規(guī)則5.1.1.3*/
{
};
void someFunc( ) /*規(guī)則5.1.1.2和5.1.1.4*/
{
.2.
Q/ECC/BJ 010—2001
int nArray[ARRAY_SIZE];
unsigned char uchByte;
char szName[ ];
char *pszName = szName;
}
(11)有些詞頭(如p和u)可以和其它詞頭組合。
例:WDOG_ID wdId;
WDOG_ID g_wdId; /*全局watchdog Id,故以g_開(kāi)頭*/
1.1.2名字的長(zhǎng)度一般不要過(guò)長(zhǎng)或過(guò)短。過(guò)長(zhǎng)的名字會(huì)增加工作量,使程序邏輯流程變得模糊;過(guò)短的名字無(wú)法表達(dá)符號(hào)的實(shí)際意義。約定長(zhǎng)度范圍:3-31;