c++编程规范101条规则

很久没有更新过博客了,其实不管多忙,有时候写写博客未尝不是一种提升。下面是我最近看的一本书的部分内容。

1.不要忽视警告,尽量没有警告。

2.使用自动构建系统

3.使用版本控制系统

4.在代码审查上投入

5.一个实体应该只有一个紧凑的职责

6.正确,简单和清晰的代码。

7.编程中应知道何时和如何考虑可伸缩性

8.不要进行不成熟的优化。

9.不要进行不成熟的劣化。

10.尽量减少全局和共享数据。

11.隐藏信息。

12.懂得何时和如何进行并发性编程。

13.确保资源为对象所拥有,使用显式的RALL和智能指针。

14.宁要编译时和连接时错误,也不要运行错误。

15.积极使用const.

16.避免使用宏。

17.避免使用魔数。

18.尽可能局部地声明变量。

19.总是初始化变量。

20.避免函数过长,避免嵌套过程。

21.避免跨编译单元的初始化依赖。

22.尽量减少定义性依赖,避免循环依赖。

23.头文件应该自给自足。

24.总是编写内部#include保护符,绝不要编写外部#include保护符。

25.正确地选择通过值,指针或者引用传递参数。

26.保持重载操作符的自然语义。

27.优先使用算术操作符和赋值操作符的标准形式。

28.优先使用++和--的标准形式,有限调用前缀形式。

29.考虑重载以避免隐含类型转换。

30.便面重载&&,||或,(逗号)。

31.不要编写依赖于函数参数求值顺序的代码。

32.弄清所要编写的是哪种类。

33.用小类代替巨类。

34.用组合代替继承。

35.避免从并非要设计成基类的类中继承。

36.优先提供抽象接口。

37.公用继承即可替换性。继承,不是为了重用。而是为了被重用。

38.实施安全的改写。

39.考虑将虚拟函数声明为非公用的,将公用函数声明为非虚拟的。

40.要避免提供隐式转换。

41.将数据成员设为私有的,无行为的聚集(C语言形式的struct).

42.不要公开内部数据。

43.明确地使用pimpl。(使私有成员真正不可见)。

44.优先编写非成员非友元函数。

45.总是一起提供NEW和Delete。

46.如果提供类专门的NEW,应该提供所有标准形式(普通,就地和不抛出)。

47.以同样的顺序定义和初始化成员变量。

48.在构造函数中初始化代替赋值。

49.避免在构造函数和析构函数中调用虚拟函数。

50.将基类析构函数设为公用且虚拟的,或者保护且非虚拟的。

c++编程规范101条规则

时间: 2024-11-05 15:57:20

c++编程规范101条规则的相关文章

《C++编程规范:101条规则、准则与最佳实践》学习笔记

转载:http://dsqiu.iteye.com/blog/1688217 组织和策略问题 0. 不要为小事斤斤计较.(或者说是:知道什么东西不需要标准化) 无需在多个项目或者整个公司范围内强制实施一致的编码格式.只要规定需要规定的事情:不要强制施加个人的喜好或者过时的做法. C++不应该使用匈牙利命名法.在有智能指针的情况下,单入口单出口可能不是必须的.代码要有自注释性. 1. 在高警告级别下干净地编译代码. 要把警告放在心上:使用你的编译器的最高警告级别.要求干净(没有警告)的构建.理解所

华为C语言编程规范

DKBA华为技术有限公司内部技术规范DKBA 2826-2011.5C语言编程规范2011年5月9日发布 2011年5月9日实施华为技术有限公司Huawei Technologies Co., Ltd.版权所有 侵权必究All rights reserved密级:confidentiality levelDKBA 2826-2011.52011-06-02 华为机密,未经许可不得扩散 Huawei Confidential 第2页,共61页Page 2 , Total61修订声明Revision

对Google C++编程规范的理解和实践

1. #define保护 所有头文件都应该使用#define 防止头文件被多重包含(multiple  inclusion),命名格式为: <PROJECT>_<PATH>_<FILE>_H_ 为保证唯一性,头文件的命名应基于其所在项目源代码树的全路径.例如,项目foo 中的头文件 foo/src/bar/baz.h按如下方式保护: #ifndef FOO_BAR_BAZ_H_ #define FOO_BAR_BAZ_H_ ... #endif // FOO_BAR_B

前端代码编码和设计规范系列——JavaScript编程规范

1文档信息 条目 内容 项目编号 通用 项目名称 通用 标题 JavaScript编程规范 类别 规范文档 当前 试用草稿 摘要 当前版本 V1.0 日期 2015/11/9 作者 徐维坚(xuweijian) 文档拥有者 内部公开 文件 前端规范系列-JavaScript篇.docx 2修改历史 编号 修订人 修订内容简述 修订 日期 修订前 版本号 修订后 版本号 V0001 徐维坚 编程规范文件编写,草稿试用版公布 2015/11/10 V1.0 规范前言 良好的编程规范对于软件的开发与维

Swift 设计指南之 编程规范

基本准则 用法一目了然是你设计时最重要的目的. 方法和属性这样的实体只声明一次,却会被重复调用.因此你在设计 API 时应尽可能使其简单明了.当评估某个设计时,只阅读声明往往是不够的,有时还需要检查它的使用样例,才能确保其在上下文中足够清晰. 一目了然比简洁更重要. 尽管 Swift 代码可以非常简明,但是使用少量的字符使得代码变得简短并不是我们的目的.简洁的 Swift 代码,会成为强类型系统副作用,而同时也是自然地降低版面的重要特点. 给每个声明编写文档注释.编写文档会对你的设计产生深远的影

简明 Python 编程规范

赖勇浩(http://laiyonghao.com) 注:之前发布一篇<简明 Python 编程规范>(见:http://blog.csdn.net/lanphaday/article/details/2834883),本是我给当时所在的公司制定的,发表到博客的时候,对齐等问题都有一些错误,还包括一些错别字.到后来,我又有做过修正.大概在 2010 年 8 年,我又由 C++ 开发转到 Python 开发,便在那之前的基础上润饰和完善,形成第二版.前段时间 simple-is-better.c

谷歌Java编程规范

Google Java编程风格指南 January 20, 2014 作者:Hawstein 出处:http://hawstein.com/posts/google-java-style.html 声明:本文采用以下协议进行授权: 自由转载-非商用-非衍生-保持署名|Creative Commons BY-NC-ND 3.0 ,转载请注明作者及出处. 目录 前言 源文件基础 源文件结构 格式 命名约定 编程实践 Javadoc 后记 前言 这份文档是Google Java编程风格规范的完整定义.

微软编程规范(文档)

项目编程规范 第一章 概述. 5 术语定义. 5 Pascal 大小写. 5 Camel 大小写. 5 文件命名组织. 5 1.3.1文件命名. 5 1.3.2文件注释. 5 第二章   代码外观. 7 2.1  列宽. 7 2.2  换行. 7 2.3  缩进. 7 2.4  空行. 7 2.5  空格. 8 2.6  括号 - () 8 2.7  花括号 - {} 9 第三章 程序注释. 10 3.1  注释概述. 10 3.2  文档型注释. 10 3.3  单行注释. 11 3.4  注

[转] java编程规范

原文链接: 资料推荐--Google Java编码规范 之前已经推荐过Google的Java编码规范英文版了: http://google-styleguide.googlecode.com/svn/trunk/javaguide.html 虽然这篇文章的英文很简单,但是最近发现有人翻译了这篇文章,所以专门写一篇文章推荐一下: http://hawstein.com/posts/google-java-style.html 同时为了避免原始文章丢失,所以转了一下: 作者:Hawstein出处:h