您的位置:首页 > 编程语言

【经验交流】香瓜的个人代码规范

2016-12-23 15:06 399 查看
本篇博文最后修改时间:2016年12月23日,15:10。




一、简介

本文简要讲述香瓜编码的代码规范。

二、版权声明

博主:甜甜的大香瓜

声明:喝水不忘挖井人,转载请注明出处。

原文地址:http://blog.csdn.NET/feilusia

联系方式:897503845@qq.com

香瓜BLE之CC2541群:127442605

香瓜BLE之CC2640群:557278427

香瓜BLE之Android群:541462902

香瓜单片机之STM8/STM32群:164311667

甜甜的大香瓜的小店(淘宝店):https://shop217632629.taobao.com/?spm=2013.1.1000126.d21.hd2o8i

三、香瓜的代码规范

1、类型的宏替换

1)要求

要求用“#ifndef”判断是否之前被定义过。

2)举例

#ifndef GUA_U8
typedef unsigned char GUA_U8;
#endif

#ifndef GUA_U16
typedef unsigned short GUA_U16;
#endif

#ifndef GUA_U32
typedef unsigned long GUA_U32;
#endif

2、宏定义

1)要求

①宏全为大写的英文字母。

②宏的名称应能读出其功能作用。

2)举例

#define GUA_RF_COMMUNICATION_JUDGMENT_FALSE     0
#define GUA_RF_COMMUNICATION_JUDGMENT_TRUE      1


3、变量

1)要求

①变量名称前的字母含义要求如下

g:global全局。

a:array数组。

s:static静态。

c:const不变常数。

n:变量。

p:指针。

②变量的名称应能读出其功能作用。

2)举例

GUA_U8 gaGUA_USART1_rx_buf[GUA_USART1_RX_SIZE] = {0};	//全局数组
GUA_U8 gnGUA_USART1_rx_buf = 0;				//全局变量
GUA_U8 nGUA_USART1_rx_buf = 0;				//局部变量
static GUA_U8 snGUA_USART1_rx_buf = 0;			//静态变量
const static GUA_U8 csnGUA_USART1_rx_buf = 0;		//const类型的静态变量
GUA_U8 *gpGUA_USART1_rx_buf;			        //全局指针


3、if

1)要求

①“{”与“}”要对齐。

②if与else的上方要注释。

2)举例

//如果计数值大于10,则返回true
if(nGUA_Num > 10)
{
return true;
}
//如果计数值小于10,则返回false
else
{
return false;
}

4、switch

1)要求

①switch、case、default上都要注释。

②每种情况的具体处理由“{}”包含。

2)举例

//如果为0则关灯
switch(nbGUA_Char6[3])
{
//关灯
case 0x00:
{
P1_1 = 0;               //拉低P11
P1SEL &= ~(1 << 1);     //设置P11为IO口
P1DIR |= (1 << 1);      //设置P11为输出

break;
}

//开灯
case 0x01:
{
P1_1 = 1;               //拉高P11
P1SEL &= ~(1 << 1);     //设置P11为IO口
P1DIR |= (1 << 1);      //设置P11为输出

break;
}

//其它
default:break;
}

5、文件注释

1)要求

至少要包含文件名称、文件作用说明、编码人、最后修改时间。

2)举例

①源文件

//******************************************************************************
//name:             GUA_RF_Communication.c
//introduce:        香瓜的通信协议
//author:           甜甜的大香瓜
//email:            897503845@qq.com
//QQ group          香瓜BLE之CC2541(127442605)
//changetime:       2016.12.08
//******************************************************************************
②头文件
//******************************************************************************
//name:             GUA_RF_Communication.h
//introduce:        香瓜的通信协议的头文件
//author:           甜甜的大香瓜
//email:            897503845@qq.com
//QQ group          香瓜BLE之CC2541(127442605)
//changetime:       2016.12.08
//******************************************************************************

6、函数注释

1)要求

至少要包含函数名称、函数作用说明、形参含义、返回值含义、编码人、最后修改时间。

2)举例

//******************************************************************************
//name:             GUA_RF_Communication_Judgment
//introduce:        RF的通信数据判断
//parameter:        npGUA_Receive: 接收缓冲区首地址
//return:           true: 数据包正确
//                  false: 数据包错误
//author:           甜甜的大香瓜
//email:            897503845@qq.com
//QQ group          香瓜BLE之CC2541(127442605)
//changetime:       2016.12.08
//******************************************************************************
GUA_U8 GUA_RF_Communication_Judgment(GUA_U8 *npGUA_Receive)
{
……
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: