在C 项目中剩下未使用的类的缺点是什么?

What are the drawbacks of having unused classes left in a c++ project?

本文关键字:缺点 是什么 未使用 项目      更新时间:2023-10-16

假设我有一个名为 foo的类,该课程执行了一些我发现的功能,库是由库bar完成的。

假设我删除了所有参考文献并且包括foo,是否仍然会导致运行时间/编译时间效率低下,并且我是否必须从项目中删除代码,或者是我所做的足够的事情,或者该编译器依赖于<<<<<<<<<<<<

如果您仍在编译包含未使用的代码的文件,则可以影响您的编译时间。

如果您要构建图书馆,那么即使未使用的类型也将包括在内,因此它会影响您的库大小。

运行时间影响将是最小的,但不是零 - 加载库时,动态链接器仍需要在您的类型上花费几个纳秒。

如果您要构建可执行文件,则任何不错的编译器/链接器都应该能够消除未使用的代码,因此唯一的影响是对构建时间。

删除死亡代码。让您的版本控制系统(git,cvs,whyther)记住它的后代,但要

是的,您应该从项目中删除未使用的代码。原因不是效率或代码尺寸,而是任何现代链接器都不会产生影响),而是一种称为"软件腐烂"的现象。

如果您未使用过,但您的项目中有可用的代码,则迟早会有人尝试再次使用它,但是由于该代码不可用且未维护,因此代码可能会过时,并且可能在生产中引起严重的问题。进一步阅读:https://en.wikipedia.org/wiki/software_rot

这不是一个空的威胁 - 由于与软件腐烂有关的软件错误而损失了全部资金,因此一旦消除了整个交易公司的类似事情:https://dougseven.com/2014/04/17/Knightmare-a-devops-aiverary-tale/

它取决于链接器。

如果构建链中的程序(编译器,链接器等)可以检测到没有使用任何符号,则可以安全地删除它们。

此外,如果类未使用,则无法确定已将其删除 - 因此,任何适当的链接器都会将其删除。