在一个解决方案中使用多个.cpp文件的目的是什么?

时间:2019-05-07 05:08:16

标签: c++ file include

随着时间的推移,我学会了更多的C ++,因此我一直在寻找一种解决方案来使用多个C文件。这一直无济于事。

据我所知,要确保没有整数或任何重复项,多个.cpp文件只会增加更多的复杂性,并且所有想法仅是为了更好地对应用程序进行排序。那是这样做的唯一用途吗?

1 个答案:

答案 0 :(得分:3)

即使是初学者,我也认为多个文件使我难以理解代码。但是在完成了几个项目之后,我意识到了这种模块化方法的重要性。 在项目中拥有多个文件的原因很多。这里我列出其中一些。

  

假设您在公司中,并且希望在许多员工之间分配任务。现在,如果您像他们一样处理单个文件,那么将很难跟踪谁在编辑什么。因此,我们将任务分解为较小的任务,其中每个任务可以由个人完成。我们为他提供了特定的界面。对于C ++,我们可以提供带有公共方法和公共变量的头文件。因此,现在这个人从他的同事正在研究的部分中知道了他可以使用什么方法。

因此,在这种情况下,多个文件具有以下功能:

  1. 分而治之:在同事之间划分任务,而不会冒着可能破坏他人代码的风险。
  2. 保持代码模块化,其中每个文件/类都有特定的功能。因此,将来如果我们想添加或删除某些功能,那么我们就可以编辑该类,而不必对整个代码库进行过多修改。
  3. 优化编译:假设您的代码中有400个文件,现在您在某个文件中更改了1行。现在,您可以单独编译编辑的文件。如果这是一个巨大的文件,那么它将浪费时间来编译未更改的内容。

关于复杂性,实际上将代码分布在不同的文件中可以降低代码的复杂性。

  

请考虑您正在从事一个单独项目。假设它具有一些数据库,功能,输入输出,GUI,诸如搜索之类的某些计算。现在考虑一下,如果将所有这些内容都包含在一个文件中,那么随着项目规模的增加,立即跟踪各种内容将变得非常困难。甚至在创作者都没有意识到的情况下快速增加。这将导致函数,变量,结构等的重复名称。现在,在每个文件中都没有函数log,它记录了各个文件的数据库状态,输入输出等,而您将拥有一个databaseLoginputLog等文件。这保证了您在GUI中将没有其他功能,而inputLog将不是合适的标题。

     

比方说,您在项目中遇到一些错误或崩溃,由于要查看的内容更少,因此查看一个文件更容易。在一个文件中,要跟踪什么属于什么功能将是一项艰巨的任务。因此,调试得到了简化。

因此,简而言之,可以说,如果文件名是根据其目的分配的,则多行代码可以降低代码复杂度,而不是增加代码复杂度。

如果您尝试读取包含多个文件的其他人的代码,那么这里有一些提示,

  1. 一次查看一个文件,然后查找它到底在做什么。大多数初学者都会犯错,他们从main开始,并在遇到问题时继续搜索功能。
  2. 我建议您记下每个功能的作用。
  3. 使用流程图。

在处理项目时,请确保每个文件都有其自己的用途,该文件是模块化的,函数可以完成一件事。确保文件根据其用途处于适当的层次结构中。另外,如果每天使用这些实践,将来您将更容易尝试和实施这些实践。祝你好运。

希望有帮助。