码迷,mamicode.com
首页 > 其他好文 > 详细

C编程规范

时间:2018-12-19 23:00:10      阅读:224      评论:0      收藏:0      [点我收藏+]

标签:res   type   key   handle   ++   文件命名   ret   port   zhang   

C编程规范

一、命名

1、程序文件命名:程序文件命名要求具备模块缩写,功能描述等信息。采用每个单词首字母大写方式。

exzamp: Driver.c  FontManage.c

2、函数命名

DataManageValueSet(int iValue);

3、结构体命名

typedef struct   _ST_DISP_WALL_INFO 
{
    char szName[16];
    int iRow;
    int iColumn;
}ST_DISP_WALL_INFO, *PST_DISP_WALL_INFO;    // “ST”或者“PST”(指针类型)作为前缀

4、联合体命名

typedef struct  _UN_DISP_WALL_INFO  
{
    char szName[16];
    int iRow;
    int iColumn;
}UN_DISP_WALL_INFO, *PUN_DISP_WALL_INFO;    // “UN”或者“PUN”(指针类型)作为前缀

5、变量命名:采用第一个单词首字母小写,后续首字母大写
技术分享图片
技术分享图片

【规则1】静态变量加前缀s_(表示static),同时要求带数据类型
【规则2】全局态变量加前缀g_(表示global),同时要求带数据类型
【规则3】所有宏定义、枚举常数和const变量全部使用大写的字母,用下划线分割单词
【规则4】变量名由单词组合而成, 具备该变量特征信息。

二、命名缩写

[重要] : https://www.cnblogs.com/huninglei/p/5497148.html

三、C++相关规范(待补充)

C++风格

class  SeriPort  //定义类
{
  int WriteByte()
    {
    int iValue;
    int iData;
    }
}

int main()
{
  SeriPort  ctrUart = new SeriPort();
  ctrUart->WriteByte();     
}

驱动层编程风格(下划线大行其道)

文件命名: font.c key_manage.c wifi_config.h
全局变量命名: g_write_value;
局部变量命名: i_write_value、ivalue、value(不加g修饰默认都是局部)
函数定义: writee_byte();

四、注释

版权声明

//中文版权声明
/***************************************************************************
* Copyright (c) 2018, USMART, All rights reserved.
* 
* 文件名称:文件名称
* 摘    要:简要描述本文件的内容
* 作    者:作者名字
*
* 修改记录:
*[日期][作者/修改者] [修改原因]
***************************************************************************/


//英文版权声明
/****************************************************************************
* Copyright (c) 2018, USMART, All rights reserved.
*
* FileName   : xxx.h
* Description: xxxxxx.
* Author     : xxxxxx(xxx@deltaww.com.cn)
* Date       : 2018/09/27
* Version    : 1.0
*
* Change Logs:
*   2018/09/27 xxxxxx : Create file.
****************************************************************************/

函数注释

/***************************************************************************
* Function   : ModbusTcpRecvMsg
* Description: read data by ModbusTcp protocol
* Parameter  :
*              [Input  Parameter]
*                   iFd            @Socket file handle                
*              [Output Parameter]
*                   pucRsp         @Response data from slave
* Return     :      
                 iMsgLength      @the total len of Response data
* Change Logs:
*           2018/11/22  jiangfeng.zhang :add comment
*           2018/11/23  jiangfeng.zhang :corrects printf bug in 383 Line  
***************************************************************************/

int ModbusTcpRecvMsg(int iDevFd,unsigned char *pucRsp)

C编程规范

标签:res   type   key   handle   ++   文件命名   ret   port   zhang   

原文地址:https://www.cnblogs.com/retry/p/10146680.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!