栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++代码规范

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++代码规范

文章目录
  • 一、命名规范
    • 1、目录/文件
    • 2、函数/接口
    • 3、命名空间
    • 4、结构体/类
    • 5、变量
      • (1)局部变量
      • (2)全局变量
      • (3)静态变量
      • (4)类成员变量
      • (5)类静态变量
      • (6)常量
    • 5、宏定义
    • 6、枚举

一、命名规范

对于C++代码,每个人的风格和习惯各不尽相同,但是为了在项目中形成一个统一的,阅读性比较好的代码,这里参考了主要的开源代码、国内外各大厂以及以往的项目经验,这里对C++代码的命名进行了一个约定规范。

1、目录/文件

规范:使用小写字母、数字、下划线,多个单词间用下划线分隔。
原因:Windows对目录和文件是大小写不区分的,而Linux是大小写区分的。为了达到平台统一,这里规定都使用小写字母。
示例:

目录:app_cxx/proc_ui/src/filewall
文件:firewall_mgr.h、main.cpp、nfsv2.cpp
2、函数/接口

规范:使用小驼峰命名法。
原因:大部分著名的开源项目以及大厂对外提供的API都是这样的命名规范。
示例:

int test()
{
    return 0;
}

int getLocalPort()
{
    return 4335;
}
3、命名空间

规范:使用小写字母、数字、下划线,多个单词间用下划线分隔**(尽量只使用一个单词)**,
原因:
示例:

namespace logger
{
}
4、结构体/类

规范:使用大驼峰命名法,不包含下划线
原因:
示例:

struct SendData
{
};

class LoggerManager
{
};
5、变量

规范:使用小驼峰命名法。

(1)局部变量

示例:

void test()
{
    int reqNum = 0;
}
(2)全局变量

补充:需要加前缀g_
示例:

int g_reqNum= 0;
(3)静态变量

补充:需要加前缀s_
示例:

void test()
{
    static int s_reqNum = 0;
}

补充:当它同时也是全变量时使用全局变量的命名方式
示例:

int g_reqNum = 0;
(4)类成员变量

补充:需要加前缀m_
示例:

class ServerInfo
{
private:
    int m_reqNum
}
(5)类静态变量

补充:需要加前缀s_
示例:

class ServerInfo
{
private:
    static int s_reqNum;
}
(6)常量

补充:需要大写字母
原因:
示例:

const int MAX_NUM = 1024;
5、宏定义

规范:需要大写字母
原因:
示例:

#define CACHE_PATH "/data/cache"
6、枚举

规范:枚举名使用大驼峰命名法,枚举值需要大写字母
原因:
示例:

enum ResultType
{
    OK,
    OPEN_FAIL,
    UNKNOW
};
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/510929.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号