NR.4: Don't insist on placing each class declaration in its own source file

NR.4:不要坚持将每个类声明放在其自己的源文件中

Reason(原因)

The resulting number of files from placing each class in its own file are hard to manage and can slow down compilation. Individual classes are rarely a good logical unit of maintenance and distribution.

将每个类放在自己的文件中而产生的文件数量很难管理,并且可能减慢编译速度。单个类很少是维护和分发的良好逻辑单元。

Example(示例)

???

Alternative(代替选项)

  • Use namespaces containing logically cohesive sets of classes and functions.

    使用包含逻辑上紧密结合的类和函数组合的命名空间。

原文链接

https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#nr4-dont-insist-on-placing-each-class-declaration-in-its-own-source-file

新书介绍

《实战Python设计模式》是作者最近出版的新书,拜托多多关注!

本书利用Python 的标准GUI 工具包tkinter,通过可执行的示例对23 个设计模式逐个进行说明。这样一方面可以使读者了解真实的软件开发工作中每个设计模式的运用场景和想要解决的问题;另一方面通过对这些问题的解决过程进行说明,让读者明白在编写代码时如何判断使用设计模式的利弊,并合理运用设计模式。

对设计模式感兴趣而且希望随学随用的读者通过本书可以快速跨越从理解到运用的门槛;希望学习Python GUI 编程的读者可以将本书中的示例作为设计和开发的参考;使用Python 语言进行图像分析、数据处理工作的读者可以直接以本书中的示例为基础,迅速构建自己的系统架构。


觉得本文有帮助?请分享给更多人。

关注微信公众号【面向对象思考】轻松学习每一天!

面向对象开发,面向对象思考!

C++核心准则​NR.4:不要坚持将每个类声明放在其自己的源文件中相关推荐

  1. C++核心准则​NR.3:不要拒绝使用异常

    NR.3: Don't avoid exceptions NR.3:不要拒绝使用异常 Reason(原因) There seem to be four main reasons given for n ...

  2. 判断exception类型_C++核心准则T.44:使用函数模板推断类模板参数类型(如果可能)...

    T.44: Use function templates to deduce class template argument types (where feasible) T.44:使用函数模板推断类 ...

  3. php 语法 条件变量,C ++核心准则:注意条件变量的陷阱

    今天,我写了一篇关于条件变量的恐怖文章.您应该意识到条件变量的这一问题.C ++核心准则CP 42仅声明:"不要无条件等待". 等待!条件变量支持一个非常简单的概念.一个线程准备一 ...

  4. modbus软件开发实战指南_C++核心准则?GSL:指南支持库

    GSL: Guidelines support library GSL:指南支持库 The GSL is a small library of facilities designed to suppo ...

  5. 开源压缩算法brotli_Google的Brotli压缩算法,C ++核心准则以及更多新闻

    开源压缩算法brotli 在本周的开源新闻综述中,我们将介绍Google的Brotli压缩算法,适用于GitHub的Classroom,C ++ Core Guidelines等! 2015年9月20 ...

  6. C++核心准则C.4:只有直接访问表达的函数,才应该成为成员

    C.4: Make a function a member only if it needs direct access to the representation of a class C.4:只有 ...

  7. C++核心准则ES.56​:只在需要将一个对象显式移动到另外的作用域时使用std::move​

    ES.56: Write std::move() only when you need to explicitly move an object to another scope ES.56:只在需要 ...

  8. C++核心准则边译边学-目标之外

    In.not: Non-aims(目标之外) The rules are not intended to be minimal or orthogonal. In particular, genera ...

  9. C++核心准则ES.40:避免复杂的表达式

    ES.40: Avoid complicated expressions ES.40:避免复杂的表达式 Reason(原因) Complicated expressions are error-pro ...

最新文章

  1. MySQL冷备份的跨操作系统还原
  2. Socket笔记【转】
  3. 计算机小白学UI,小白学UI设计有什么技巧?看完这些你就明白了
  4. hi3519av100 2.0版本sdk编译提示 cannot find uuid library required for mkfs.ubifs
  5. Java 使用 POI 操作 Excel
  6. tensorflow随机梯度下降算法使用滑动平均模型
  7. linux开机启动mysql脚本,ubuntu linux下mysql开机自启动 - 心之所向,无惧无悔! - 博客频道 - CSDN.NET...
  8. 数据库系列学习(三)-数据的增、删、改
  9. 微信小程序 eventChannel在页面间传参
  10. 达梦数据库Linux下配置odbc数据源
  11. yacc 简易计算机规则,Lex Yacc 学习笔记(2)- 简单计算器
  12. Jvisualvm简单使用教程
  13. 适合高中生看的科普类书籍,助力一窥科学世界
  14. 【NPDP产品经理】发散思维让你的思维视野更广阔
  15. python解析钩针图解到markdown文件/requests/BeautifulSoup
  16. 2015移动互联网行业趋势盘点(PPT)
  17. ❤ CSDN榜一博主,半年文章汇总【答谢粉丝、文末送书4本】❤
  18. 2020 年校招,最值得加入的互联网公司有哪些?
  19. Ra-08系列开发板入门教程,标准LoRaWAN协议对接国外 TTN LoRaWAN 开源服务器。
  20. ubuntu命令行 播放音乐

热门文章

  1. xp访问linux系统,Linux和XP利用Samba服务实现共享互相访问
  2. 使用绝对定位来实现拉手网上的效果
  3. 惠普测试c语言,HP的分院测试转自HP超话
  4. Python 爬虫 中国行政区划信息爬取 (初学者)
  5. 波士顿动力狗 SPOT 权威购买指北
  6. 03 CoCos Creator 偏好设置中ndk配置
  7. 微信群聊,为什么人数上限500人?
  8. CDN服务及如何获取CDN服务背后的真实IP
  9. 直逼 Flash 的流畅感:jQuery 运动特效展示
  10. 2021年电工(技师)最新解析及电工(技师)复审考试