编程代码规范

来源:互联网 发布:棋牌刷分软件 编辑:程序博客网 时间:2024/05/17 01:23

一、简介

本文简要讲述代码的编程规范


二、版权声明


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

三、代码规范

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)要求
(1)宏全为大写的英文字母。
(2)宏的名称应该能读出其功能作用。
2)举例
#define GUA_RF_COMMUNICATION_JUDGMENT_FALSE     0  #define GUA_RF_COMMUNICATION_JUDGMENT_TRUE      1


3、变量
1)要求
(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)要求
(1)“{“与”}”要对齐;
(2)if和else的上方要注释。
2)举例
//如果计数值大于10,则返回trueif(nGUA_Num > 10){  return true;}//如果计数值小于10,则返回falseelse {  return false;}

4、switch
1)要求
(1)switch、case、default上都要注释;
(2)每种情况的的具体处理由“{}”包含。
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)举例
(1)源文件
//******************************************************************************                              //name:             GUA_RF_Communication.c                 //introduce:        香瓜的通信协议          //author:           甜甜的大香瓜                       //email:            897503845@qq.com           //QQ group          香瓜BLE之CC2541(127442605)                         //changetime:       2016.12.08         //******************************************************************************

(2)头文件
//******************************************************************************                              //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)  {  ……}