将所有项目标题放入一个文件HEADERS.h是一个好主意吗?

The*_*uzz 4 c++ header

前几天我和我的导师谈过,并问他这个问题.他告诉我,我可以选择较小的项目,但我正在开始一个国际象棋程序,我想知道Stack Overflow对这个问题的看法.我应该将所有标题包含在一个文件中,还是将它们分开?

Ree*_*sey 13

通常,您需要单独的标头.

包括超过必要的一些潜在的坏事.

  1. 这是编译时间慢的最大原因.不必要的额外标题包含会降低编译速度,因为每个源文件都需要担心所需的信息量超出需求.它起初是一个小问题,在您知道之前,数百名开发人员每人浪费数十到数百小时,因为问题太过于难以解决.即使你正在处理小问题,理解标题的正确分离也很重要 - 第一次很容易正确,但如果忽略它就很难修复.

  2. 您失去了(依赖于编译器/ IDE)正确处理依赖关系的能力,并最终构建了比您需要构建的更多信息.

  3. 你失去了可维护性.当你拥有大型的单个文件时,维护软件比拥有大量小巧简洁的文件要困难得多.

  4. 您使代码更难理解,因此更容易出错.通过将所有内容放在一个文件中,更容易在巨大的标题中"丢失".

  • 此外,有选择地包括标题会添加自我调节的组件:当您向文件添加新功能时,如果您使用的代码需要添加另一个标题包含,您可以考虑它是否实际适合该文件或会更好地在其他地方实施. (3认同)