打印
[应用相关]

【转】C语言常用代码规范

[复制链接]
744|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
TXQDM|  楼主 | 2017-2-25 12:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1、类型的宏替换
1)要求
要求用“#ifndef”判断是否之前被定义过。
2)举例
[cpp] view plain copy


  • #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)举例
[cpp] view plain copy


  • #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)举例
[cpp] view plain copy


  • 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)举例
[cpp] view plain copy


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


4、switch
1)要求
①switch、case、default上都要注释。
②每种情况的具体处理由“{}”包含。
2)举例
[cpp] view plain copy


  • //如果为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)举例
①源文件
[cpp] view plain copy


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

②头文件
[cpp] view plain copy


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


6、函数注释
1)要求
至少要包含函数名称、函数作用说明、形参含义、返回值含义、编码人、最后修改时间。
2)举例


[cpp] view plain copy


  • //******************************************************************************                    
  • //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)   
  • {  
  •   ……  
  • }  



发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

110

主题

593

帖子

11

粉丝