原地址:http://www.cnblogs.com/joinclear/archive/2013/02/21/2921422.html
C++编程命名规范
0前言

根据多年工作经验和其它命名规范整理而成,个人感觉比较规范的标准,现应用于我的开发团队。

1命名通用规则
文件名、函数名、变量名命名应具有描述性,不要过度的缩写,类型变量是名词,函数名是动词或动词+名词。函数名必须是指令性的,非常普遍性的才用缩写。
2文件命名

c++文件应以.cpp,头文件以.h结尾,文件名全部小写,文件名和类名相同。

举例:

publictools.h

publictools.cpp

3类型命名

类型包括:类(class)、结构体(struct)、类型定义(typedef)、枚举(enum)等。

类型名称每个单词首字母大写。

举例:

类(class):

class TestClass

{

};

结构体(struct):

struct TestStruct

{

};

类型定义(typedef):

typedef struct TestType

{

};

枚举(enum):

enum TestEnum

{

};

4变量命名

普通变量首字母小写,成员变量以_结尾,函数参数以_开头。全局变量g_开头,静态变量s_开头。

举例:

普通变量:

int index;

char type;

string name;

成员变量:

int index_;

函数参数

void SetIndex(int _index)

{

};

全局变量:

int g_count;

静态变量

int s_number;

5常量命名

全大写,单词间用_分开。

举例:

const string MAX_FILENAME255;

6函数命名

首字母大写,取值与设值函数与变量名匹配。

举例:

int index_;

int GetIndex()

{

returnindex_;

};

void SetIndex(int _index)

{

index_ =_index;

};

7名字空间

全小写字母。

举例:

namespace myNamespace

{

};

8类型体命名

首单词全写,次单词首字母大写。

举例:

struct TestStruct

{

int number,

string studentName

};

enum TestEnum

{

errorIn,

errorOut

};

9宏命名

全大写,单词间用_分开。

举例:

#define PI_RAUD3.14159265

10#define头文件保护命名

全大写。

举例:

#ifndef FOO_BAR_BAZ_H_

#define FOO_BAR_BAZ_H_

...

#endif // FOO_BAR_BAZ_H_;

C++编程命名规范的更多相关文章

  1. Java编程 -- 命名规范

    转自:http://www.hawstein.com/posts/google-java-style.html#Naming 命名约定 5.1 对所有标识符都通用的规则 标识符只能使用ASCII字母和 ...

  2. C#编程命名规范推荐

    1.用Pascal规则来命名方法和类型. Pascal 大小写形式是指名称中的单词的第一个字母大写public class DataGrid{public void DataBind(){ }} 2. ...

  3. java命名规范和编程技巧

    一个好的java程序首先命名要规范. 命名规范 定义这个规范的目的是让项目中所有的文档都看起来像一个人写的,增加可读性,方便维护等作用 Package 的命名 Package 的名字应该都是由一个小写 ...

  4. java编程规范之java命名规范

    想要成为一个优秀的程序员,首先要培养良好的编程习惯,为了提高代码的可读性,必须有好的命名规范. 这篇文章是小编结合网上的很多资料整理出来的,若有不当或错误的地方,欢迎大家指正 在文章开始前,为方便阅读 ...

  5. Java编程风格与命名规范整理

    基本命名规范 包命名 包名按照域名的范围从大到小逐步列出,恰好和Internet上的域名命名规则相反. 由一组以“.”连接的标识符构成,通常第一个标识符为符合网络域名的两个或者三个英文小写字母. Pe ...

  6. Java 编程规范,常见规范,命名规范,复杂度

    方法/步骤     1. *不允许把多个短语句写在一行中,即一行只写一条语句 1. 示例:如下例子不符合规范. LogFilename now = null;        LogFilename t ...

  7. Android 命名规范 (提高代码可以读性)

    android文件众多,根据名称来辨别用途很重要,因此命名要规范 这篇文章可参考:Android 命名规范 (提高代码可以读性) 刚接触android的时候,命名都是按照拼音来,所以有的时候想看懂命名 ...

  8. iOS开发(OC)中的命名规范

    开小差:最近发现自己有一个经验主义的毛病,不太容易接受新的知识,这对从事技术研发的人来说不太合理,需要改之. 正文:通过读写大量代码我有自己的一套编程思路和习惯,自认为自己的编码习惯还是不错的,代码结 ...

  9. Java开发的命名规范

    Java的命名规范 定义规范的目的是为了使项目的代码样式统一,使程序有良好的可读性,便于日后维护. 1.工程的命名(全用小写字母) 工程的命名一般全用小写字母,单词之间用下划线“_”隔开. 2.包的命 ...

随机推荐

  1. JQuery - 去除所有空格

    $('#submit').click(function () { //去除所有空格 String.prototype.NoSpace = function () { return this.repla ...

  2. 初入Android--Activate生命周期

    Activate的主要生命周期 (注意:这只是主要的生命周期,而不是完整的生命周期方法,其中的两个周期之间可能还执行了其他的一些方法) 每个时刻在屏幕上的状态 进入onCreate方法:Activat ...

  3. log4net概述

    log4net概貌 log4net是一个框架,用来记录日志的框架.为什么要记录日志呢?每个程序员都不能保证自己的程序完全没有错误,可是当程序已经部署的时候出现错误怎么办?我们这时候就要根据我们的日志文 ...

  4. Android下QQ空间查看大图特效

    近期在做一个项目,里面有一个功能是实现Android QQ好友动态里面的缩略图放大,查看大图的效果.用过都知道,这个特效非常赞的,没用过的下载个玩玩吧.我刚開始以为放大的那个大图是一个Activity ...

  5. linux进程解析--进程的创建

    通常我们在代码中调用fork()来创建一个进程或者调用pthread_create()来创建一个线程,创建一个进程需要为其分配内存资源,文件资源,时间片资源等,在这里来描述一下linux进程的创建过程 ...

  6. CImageList类Create函数参数解析

    前面提到了CImageList类的Create(...)函数,虽然MSDN上已经有所解释,但仍有网友问到参数的具体含义,下面就我的理解,对参数进行一次轻量级的剖析 函数原型(其他重载函数请参看msdn ...

  7. android:改动PagerTabStrip中的背景颜色,标题字体的样式、颜色和图标以及指示条的颜色

    1.改动PagerTabStrip中的背景颜色 我们在布局中直接设置background属性就可以: <android.support.v4.view.ViewPager android:id= ...

  8. pig对null的处理(实际,对空文本处理为两种取值null或‘’)

    pig对文本null的处理非常特殊.会处理成两种null,还会处理成''这样的空值. 比方,读name,age,sex日志信息.name取值处理,假设记录为".,,"这样,会将na ...

  9. golang做的邮件服务器

    https://gowalker.org/github.com/gleez/smtpd https://www.v2ex.com/t/133221

  10. Android开发之下载Tomcat服务器的文件到模拟器的SD卡

    Tomcat服务器可以到Apache的官网去下载http://tomcat.apache.org/,如何配置和使用百度下也有很多介绍,只要把Java的SDK配下java_home环境变量就行了,因为T ...