c编码规范(翻译整理).doc

c编码规范(翻译整理).doc

ID:51335989

大小:48.00 KB

页数:13页

时间:2020-03-10

c编码规范(翻译整理).doc_第1页
c编码规范(翻译整理).doc_第2页
c编码规范(翻译整理).doc_第3页
c编码规范(翻译整理).doc_第4页
c编码规范(翻译整理).doc_第5页
资源描述:

《c编码规范(翻译整理).doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、C++编码规范(翻译)简介1.1标准化的重要性:标准化让每个人在某些方面按同一个标准,使得每个人都感觉是在同一个场地。本文中的建议涵盖了多个项目、多个公司,对每个建议都经过了长时间的讨论。本文中的建议不是某部分人的风格,对局部修改是很开放的。1.2标准化的好处Ø程序员可以查看代码中每一个地方并知道它的作用Ø新人员能尽快地加快速度Ø新人员可以省去建立自己的个人开发风格,直到老死。。Ø新人员可以避免不断地重复犯同样的错误Ø在一个稳定的环境里可以尽量少的范错误Ø程序员都有一个共同的敌人。。。1.3标准化的

2、坏处Ø标准经常由不懂c++的人指定,而变成糟糕的标准Ø标准经常不是我所做的,而变成糟糕的标准Ø标准会减少创造力Ø由于人员是稳定的而不需要标准Ø标准强制了太多的结构Ø人员忽略了标准1.4说明Ø惯例必须:表示任何项目都必须遵守该规范应该:表示根据项目对规范进行裁减可以:表示可选的1名称1.1取一个合适的名称名称是程序设计的核心。在过去,人们相信知道某个人的真实的名字会比知道那个人更具有神奇的魅力。如果你能想出某个事物的合适名称,将会给你自己和后来者带来更好的代码权。一个名称是对一个事物所在环境进行长时间

3、深刻思考后的结果。只有把一个系统作为一个整体来理解的程序员才能给出一个适合该系统的名称。Ø类名称清楚的理解了该类是什么后才给类命名,如果不清楚该类是什么说明你的设计作的不够好;如果一个名称由超过三个词组成则说明在系统中有多个实体冲突,应该重新设计;一个类命名不应该与它的基类相关,只与该类本身相关;添加后缀有时候是有帮助的;Ø方法和函数名称通常每个函数或方法是执行一个动作,因此方法或函数名要清楚的表达出该方法或函数做了什么。例如:用CheckForErrors()代替ErrorCheck(),Dump

4、DataToFile()代替DataFile(),这使得函数或方法更好的进行区分;后缀有时候是有用的,例如:Max,Cnt,Key,RetryMax表示最大重复数,RetryCnt表示当前重复数;前缀有时候是有用的,例如:Is,Get,Set,IsHitRetryLimitØ不是所有的缩略名字母都需大写如果名称中包含缩略名,该缩略名不要全部都用大写字母,而只要第一个字母大写,例如:classFluidOz//NOTFluidOZclassNetworkAbcKey//NOTNetworkABCKey

5、2命名2.1类名使用大写字母作为单词分隔符第一个字母大写不使用字符’_’例如:classNameOneTwo作为库的类名称,如果没有使用命名空间,则在类的名称前加上前缀,前缀可以使用作者的名字缩写,例如:张三写的类,classZsNameOneTwo2.2类方法名使用与类名相同的规则,例如:classNameOneTwo{public:intDoIt();voidHandleError();}1.1类属性名类属性名在前面加m在m后面的规则与类名规则相同m总是在其它前缀之前,例如指针’p’classN

6、ameOneTwo{public:intVarAbc();intErrorNumber();private:intmVarAbc;intmErrorNumber;String*mpName;}1.2方法参数名第一个字符大写在第一个字符后面的所有单词的第一个字符大写classNameOneTwo{public:intStartYourEngines(Engine&rSomeEngine,Engine&rAnotherEngine);}1.3局部变量名全部使用小写字符使用字符’_’作为单词分隔符intN

7、ameOneTwo::HandleError(interrorNumber){interror=OsErr();Timetime_of_error;ErrorProcessorerror_processor;}1.1指针变量名加前缀’p’‘*’应靠近类型名String*pName=newString;String*pName,name,address;//注意:只有pName是指针1.2引用变量名和引用返回加前缀’r’‘&’应靠近类型名classTest{public:voidDoSomething

8、(StatusInfo&rStatus);StatusInfo&rStatus();constStatusInfo&Status()const;private:StatusInfo&mrStatus;}1.3全局变量名在最前面加’g’LoggergLog;Logger*gpLog;1.4全局常量名全部字符大写用’_’作为单词分隔符constintA_GLOBAL_CONSTANT=5;1.1静态变量名加前缀’s’classTest{public:private:sta

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。