编程规范的介绍.pptVIP

  1. 1、本文档共81页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
编写的参考依据 编程规范的作用 提高代码的质量 提高编程的效率 便于项目的管理 如果一个项目坚持共同规范,那么会有下面这些好处: 程序员可以理解任何代码,并知道正在做什么 新使用C++的人可以很快驶入正轨 新使用C++的人不必发展自己的风格并一直守着它 新使用C++的人不会一遍又一遍地反复犯相同的错误 在一致的环境里大家可以少犯错误 一流代码的特性 鲁棒 - Solid and Robust Code 简洁 - Maintainable and Simple Code 高效 - Fast Code 简短 - Small Code 复用/共享 - Re-usable Code 可测试 - Testable Code 可移植 - Portable Code (“写好代码的10个秘诀”-微软,林斌) 主要内容 1.命名规范 2.代码风格与版式 3.有关注释 4.函数 5.类/结构 6.变量、常量 7.类型转换 8.程序组织 9.代码的管理 1.命名规范 变量命、函数、类、宏、常量、类型、模版名和文件名等都需要命名 命名工作很重要 命名的一些方法和原则 my_name myName cMyName 1.1变量命名规则 1.1.1作用域的表示: 1.1.2变量类型 1.1.3 变量名字的含义 1.1.4注意事项 1.2 函数命名规则 1.3类的命名规则 1.4宏 1.5 常量 1.6类型(自定义) 1.7关于定义struct、union变量 2.2语句与代码行 2.6空格的使用 3.1对函数进行注释 3.6行末注释尽量对齐 4.函数 4.1函数原型 函数原型的格式为:   [存储类] 返回值类型 [名空间或类]::函数名(参数列表) [const说明符] 例如: static inline void Function1(void) int CSem::Function2(IN const char* pcName) const 其中: 以 [ ] 括住的为可选项目。 除了构造/析构函数外,返回值类型 和 参数列表 项不可省略(可以为 void )。 const说明符 仅用于成员函数中 4.2函数声明 函数声明的格式为:   函数原型; 例如: static void Function(void); 函数声明和其它代码间要有空行分割。 声明成员函数时,为了紧凑,返回值类型和函数名之间不用换行,也可以适当减少声明间的空行。 4.3参数描述宏 4.4参数列表 4.5默认参数 4.9将重复使用的代码编写成函数 4.10在函数调用语句中不要使用赋值操作符 4.11保护可重入函数中的全局变量 4.12调用系统API 5 类/结构 5.1 构造函数 5.2 拷贝构造函数 当类中包含指针类型的数据成员时,必须显式的定义拷贝构造函数。建议为每个类都显式定义拷贝构造函数。 理由: 确保类的编写者考虑类对象在被拷贝时可能出现的各种情况。 举例: class CMyClass { ... CMyClass(CMyClass object); ... }; 5.3 析构函数 5.4 析构函数中的异常处理 5.5不要重新定义继承来的非虚函数 5.6 建议用内联函数代替宏函数 理由: 同宏函数相比,内联函数不但具有宏函数的效率,而且使用起来更安全。 5.7 操作符“new”,“delete”的重载 如果你为一个类重载了操作符new,那你也应该为这个类重载操作符delete。 理由: 操作符new和操作符delete需要一起合作。 5.8类数据成员的访问控制 类对外的接口应该是完全功能化的,类中可以定义Public的成员函数,但不应该有Public的数据成员。 理由: 要想改变对象的当前状态,应该通过它的成员函数来实现,而不应该通过直接设置它的数据成员这种方法。一个类的数据成员应该声明为private的,最起码也应该是protected的。 5.9类成员的声明版式 对于比较复杂(成员多于20个)的类,其成员必须分类声明。 每类成员的声明由访问说明符(public, private, 或protected)+ 全行注释开始。 如果一类声明中有很多组功能不同的成员,还应该用分组注释将其分组。分组注释也要与 class 关键字对其。 每个成员的声明都应该由 “class” 关键字开始向右缩进一个制表符,成员之间左对齐。 例如: class CXXX { public: /////////////////////////////////////////////////////////////////

文档评论(0)

jdy261842 + 关注
实名认证
文档贡献者

分享好文档!

1亿VIP精品文档

相关文档