AppCode has a feature to "Optimise imports".
It will take redundant or unused imports and remove them and reshuffle them etc...
I can see why it can be done... If you have 3 files A, B and C...
In this case you can remove the import of B in C.
But what does it do to the project when these redundant imports build up? Can it slow the build? Does it affect the product?
答案 0 :(得分:3)
在冗余导入的情况下,主要是为了减少代码噪声(即不需要的代码行)。两次导入同一文件没有太大的额外成本。 include
确实有一个非常重要的成本,因为它必须打开并读取文件(即使它使用#ifdef警卫),但import
试图避免这种情况。即便如此,那里的成本也很低。
导入不使用的文件可能会产生大量的构建时间。在类C语言中,导入意味着“读取整个文件及其包含的所有文件并在此处解析它们”。这可能非常昂贵。有一些技巧可以避免它完全那么糟糕(特别是预编译的头文件),但它很糟糕。因此,摆脱未使用的进口绝对有利于构建时间。
两者都不应对最终产品产生任何影响。如果确实如此,则AppCode将删除不应删除的标头。
其中一些更改采用新的@import
语法,不需要读取和解析模块的所有头文件。但是你仍然希望避免导入你不需要整理的标题,如果没有别的话。