我有一个基类称为 EventArgs.来自这是许许多多专业代表的事件的参数用于特定类型的事件。消费者的这些事件可能需要一些,许多或很少有这些论点的课程。

我的问题是,将提供一个标题的文件 类型(e。g,50多个标题的文件为改变的),你会尝试将它们分组在家庭和有一个"共同"标题的文件对于那些,或者将你扔谨慎的窗口,并把它们扔在一个容易使用的标题文件,该文件就可以被包括在内?

另一种做法可能有50头文件,然后我可以介绍一些"家庭"标题的文件,其中包括特定的人。不确定的命名约定为这些类型的事情,所以这是显而易见的是什么。

我知道有可能不是硬性的规则,但想知道什么其他开发商已经完成,当他们发现自己写的许多小类。

在此先感谢。

有帮助吗?

解决方案

在以下情况之一中,我将不得不将两个类放入单独的标题:

  • 他们很大
  • 它们是无关的或不太可能一起使用的
  • 他们每个人都介绍了自己的标题依赖性

否则,将它们分开是没有意义的。我知道有些人有这个“每个标题”规则,但在您的情况下看起来并不合理。

在某些构建系统(和文件系统)中,包括大量小文件的“家庭”是什么,这可能会对编译时间产生影响,无论如何我都看不到这样做的意义 - 通常人们会使用文档或IDE要查找类,而不是查看标题文件名。因此,您只会这样做才能简化包容性,但是为什么不将它们放入同一标头中。

其他提示

我会根据用户可能想一起使用的课程将它们分组为家庭。无论如何,50多个小型标头文件似乎过多。

所有的变体都不是模板吗?

我已经在类似情况下,我的发展中GUI图书馆。最初的所有组成部分(他们是小班)进行共享相同的标题和来源的文件。这个工作很好。我后来试图把它们放在单独的文件,但它真的没有改善的任何东西。它只能增加的负担花费了很多时间寻找通过这些文件。

除此之外,也许可以得出一些灵感来自Poco C++图书馆。这个图书馆通常遵循一个类每头语,但也有例外。例如整个例外层级编码于一个标题和源文件使用的宏观为基础的系统(见 例外。hException.cpp).

如果它们属于同一继承层次结构,请将它们放在同一.h文件中。它可以帮助您确定课程的正确订单。 C ++中鲜为人知的编译时间检查之一依赖于.h文件中的类正确顺序。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top