- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C++编码规范(翻译)
简介
标准化的重要性:
标准化让每个人在某些方面按同一个标准,使得每个人都感觉是在同一个场地。本文中的建议涵盖了多个项目、多个公司,对每个建议都经过了长时间的讨论。本文中的建议不是某部分人的风格,对局部修改是很开放的。
标准化的好处
程序员可以查看代码中每一个地方并知道它的作用
新人员能尽快地加快速度
新人员可以省去建立自己的个人开发风格,直到老死。。
新人员可以避免不断地重复犯同样的错误
在一个稳定的环境里可以尽量少的范错误
程序员都有一个共同的敌人。。。
标准化的坏处
标准经常由不懂c++的人指定,而变成糟糕的标准
标准经常不是我所做的,而变成糟糕的标准
标准会减少创造力
由于人员是稳定的而不需要标准
标准强制了太多的结构
人员忽略了标准
说明
惯例
必须:表示任何项目都必须遵守该规范
应该:表示根据项目对规范进行裁减
可以:表示可选的
名称
取一个合适的名称
名称是程序设计的核心。在过去,人们相信知道某个人的真实的名字会比知道那个人更具有神奇的魅力。
如果你能想出某个事物的合适名称,将会给你自己和后来者带来更好的代码权。
一个名称是对一个事物所在环境进行长时间深刻思考后的结果。只有把一个系统作为一个整体来理解的程序员才能给出一个适合该系统的名称。
类名称
清楚的理解了该类是什么后才给类命名,如果不清楚该类是什么说明你的设计作的不够好;
如果一个名称由超过三个词组成则说明在系统中有多个实体冲突,应该重新设计;
一个类命名不应该与它的基类相关,只与该类本身相关;
添加后缀有时候是有帮助的;
方法和函数名称
通常每个函数或方法是执行一个动作,因此方法或函数名要清楚的表达出该方法或函数做了什么。例如:用CheckForErrors()代替ErrorCheck(),DumpDataToFile()代替DataFile(),这使得函数或方法更好的进行区分;
后缀有时候是有用的,例如:Max,Cnt,Key,RetryMax表示最大重复数,RetryCnt表示当前重复数;
前缀有时候是有用的,例如:Is,Get,Set,IsHitRetryLimit
不是所有的缩略名字母都需大写
如果名称中包含缩略名,该缩略名不要全部都用大写字母,而只要第一个字母大写,例如:
class FluidOz //NOT FluidOZ
class NetworkAbcKey //NOT NetworkABCKey
命名
类名
使用大写字母作为单词分隔符
第一个字母大写
不使用字符’_’
例如:class NameOneTwo
作为库的类名称,如果没有使用命名空间,则在类的名称前加上前缀,前缀可以使用作者的名字缩写,例如:张三写的类,class ZsNameOneTwo
类方法名
使用与类名相同的规则,例如:
class NameOneTwo
{
public:
int DoIt();
void HandleError();
}
类属性名
类属性名在前面加m
在m后面的规则与类名规则相同
m总是在其它前缀之前,例如指针’p’
class NameOneTwo
{
public:
int VarAbc();
int ErrorNumber();
private:
int mVarAbc;
int mErrorNumber;
String* mpName;
}
方法参数名
第一个字符大写
在第一个字符后面的所有单词的第一个字符大写
class NameOneTwo
{
public:
int StartYourEngines(Engine rSomeEngine, Engine rAnotherEngine);
}
局部变量名
全部使用小写字符
使用字符’_’作为单词分隔符
int
NameOneTwo::HandleError(int errorNumber)
{
int error= OsErr();
Time time_of_error;
ErrorProcessor error_processor;
}
指针变量名
加前缀’p’
‘*’应靠近类型名
String* pName= new String;
String* pName, name, address; //注
文档评论(0)