写程序就像写文章,怎么样才可以让你的程序更受"芯片们"的欢迎!
语言代码书写规范总则
常量、变量、函数名的定义可以采用英文单词或中文全拼表示,尽量采用采用英文单词或全部中文全拼表示,若出现英文单词和中文混合定义时,使用连字符“_”将英文与中文割开。
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条评论)
登录后参与讨论