C++编码规范之命名约定

公司内部有一份代码规范,感觉还是很有帮助的,简单列一下C++规范中的核心部分,必要的加一些自己的理解和实际编码过程中遇到的问题与感受,很多细节的说明就不一一翻译了,能够明白就行。

第一部分:命名约定

规则1:使用前缀m_, g_, s_来标示成员变量,全局变量和静态变量;

规则2:变量名使用驼峰式大小写风格;

规则3:类型名使用Pascal大小写风格;
例:
typedef int Line;
struct SavingsInformation
{
};  

规则4:使用动词来命名函数与方法,并采用Pascal大小写风格;
例外:
COM/ATL中的getter与setter方法允许以get_或者put_开头;
如果是需要覆盖基类的虚函数方法,则不一定要遵循这一规定; 
(个人理解:就是在无法修改基本虚函数方法名的时候,派生类中是无法修改这个函数名的,所以不需要遵循这一规定,但如果是自己编写的基类,那么基类的函数命名应该遵循这一规则)

规则5:指针或者智能指针名以p开头(在为成员变量,全局变量和静态变量所加的前缀之后)
该规则仅仅是推荐使用,不作为强制规范。
例如:
class CTest
{
    // Member pointer
    CObject *m_pObject;
    ...
};

void DoSomething()
{
    // Local pointer
    CObject *pObject = NULL;
    ...
}

规则6: bool变量名以b开头;
类似规则5;

规则7: 不允许使用否定含义的bool变量名;
这个是常常谈到的问题了!
一般bool变量名最好是bSuccessful,而不是bNotFailed;

规则8:返回true或者false的回答问题的函数应该像个问题一样命名。
举个简单的例子就明白啦,比如说,这样的函数应该命名为IsEmpty()而不是Empty();

规则9:选择易读的描述性的名字;
也就是说不要用a,b,c,d之类的简单命名啦!
个人建议,不要挑选想ZhuDongFangYu这样的拼音作为变量名或者函数名;当然,用拼音来命名在我们公司是绝对不允许的啦!

规则10:常量名大写!

坦白说,这一条我倒真没怎么遵循,主要是因为我所在的Team的代码中已经应用上了一套对于const变量的命名方式了,而且个人觉得也非常清晰易读,再加上我们的代码中并未能完全避免完全使用宏定义,所以这条规则我们并没有怎么遵守!


待续。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值