原创 C语言代码书写规范总则

2007-12-28 09:42 4223 7 7 分类: 软件与OS

写程序就像写文章,怎么样才可以让你的程序更受"芯片们"的欢迎!


语言代码书写规范总则


常量、变量、函数名的定义可以采用英文单词或中文全拼表示,尽量采用采用英文单词或全部中文全拼表示,若出现英文单词和中文混合定义时,使用连字符“_”将英文与中文割开。 

for语句的循环指针可以采用I,j,t等单个字母变量定义; 

 常量定义 

规范要求 

常数的命名采用全部大写字母。当需要由多个单词表示时,单词与单词之间必须采用连字符“_”连接。 

常量有前缀的缩写,在书写过程中尽量多采用。 

举例 

连字符实例: #define MK_ADDR  100 

#define MAX_ADDR  64 

前缀实例:  #define CCCC 100  // 定义EE中数据地址 

#define AAAA  0x10    // 定义北京协议中的读表命令 

#define BBBB  0x11    // 定义MK协议中读表命令 

变量定义 

前缀定义与驼峰法说明 

变量按作用空间可以分为全局变量与局部变量(临时变量)两种,其空前前缀为g,t; 

变量按类型可以分为逻辑型、字符型、整型、长整型、字符串、浮点数、结构类型四种,其类型前缀为b,c,I,g,s,f,str; 

驼峰法定义单词的第一字母大写,后面小写。 

规范要求 

变量的命名采用空间前缀 + 类型前缀 +  驼峰法; 
举例 

uchar gcMeterAddr   // 全局变量,单字节,表地址 

uchar giLunxunShijian  // 全局变量,双字节,轮巡时间 

uchar tcLength    // 局部变量,单字节,长度 

uchar gbKeyInputOver  // 全局变量,逻辑变量,键盘输入结束 

uchar gsCommBuff [5]  // 全局变量,字符串,通讯缓冲 

uchar tfValue    // 局部变量,浮点数,数据 

uchar gstrDCBTbl   // 全局变量,结构类型,表 

函数名定义 

函数的命名:  函数名首字大写,若包含有两个单词的每个单词首字母大写。  函数原型说明包括:引用外来函数及内部函数,外部引用必须在右侧注明函数来源: 模块名及文件名, 内部函数,只要注释其定义文件名;  

文件名定义 

时间问题,暂不执行 

语句格式说明 

规范要求 

语句对齐必须采用Tab键调整; 

赋值符“=”和条件判断符“〉”,“===”,“〉=”的左右两边必须使用空格与变量分割; 

多使用空行分割,以便于阅读; 

举例 

uchar YufaJuli () 

{ 

 uchar tcSum,i;  // 正确书写方法 

 UchartcLength ;   // 不正确,没有使用tab键调整 

 for (I = 0; I < 100; I++)  // 不正确,应该空一行 

 for (I = 0; I < 100; I++)  // 正确 

 { 

  tcSum+=I;   // 不正确书写方法,赋值符两边没有加空格分割 

  tcSum += i;   // 正确 

 } 

} 

注释说明 

函数注释 

规范要求 

在函数名上行必须注释区,注释区至少由“入口”、“出口”、“功能说明”、“分割线”四部分组成; 

举例 

// ---------------------------------------------------------------   // 分割线 

// 入口:  ******r         // 入口说明 

// 出口:  ******         // 出口说明 

//功能说明: ******         //功能说明 

// ----------------------------------        //分割线 

uchar YufaJuli () 

{ 

 } 函数开头的注释内容:  函数名称、功能、说明 输入、返回、函数描述、流程处理、全局变量、调用样例等,复杂的函数需要加上变量用途说明;  

3、程序中的注释内容:  

修改时间和作者、方便理解的注释等。注释内容应简炼、清楚、明了,一目了然的语句不加注释。 

文章评论0条评论)

登录后参与讨论
我要评论
0
7
关闭 站长推荐上一条 /2 下一条