注释会影响编译时间吗?

Do comments affect compile time?

本文关键字:时间 编译 影响 注释      更新时间:2023-10-16

我是一名Android开发者,下面的问题出现在我的脑海中:当我为了编译过程而添加一个大注释时,当我们在代码中添加有用的注释时,编译器是否可以在注释部分花费一些时间?

如果没有,那么它没有得到任何效果,因为多长时间我们的评论?

编译器可以在注释部分花费一些时间吗?

除了遍历注释对应的字节的IO开销(只要不是几兆字节长的注释,这应该可以忽略不计)之外,它不会产生任何影响。大多数编译器甚至不包括AST中的注释,这意味着解析后注释完全消失了。

永远不要根据编译时间来决定是否包含注释。您的决定完全基于它是否使代码更具可读性。

进一步阅读:

  • 如何写注释
  • 我如何以适当的方式编写代码内注释和文档?这有什么标准吗?
  • 如何写出好的javadoc注释?

是的,您编写的每个注释都会使编译变慢,因为编译器必须读取更多的文本。但是,对于编译器来说,读取注释是非常容易的,而且很快就能完成,所以你不必担心。

你可以自己试一试。编写一个程序,让生成一些带有大量注释的简单源代码。

int i = 0;
...
i++; /* This is a comment, and maybe a very long one. */
...

现在您可以尝试使这个(生成的)注释非常长,甚至可能是兆字节。然后在编译带有小注释和大注释的代码时测量差异,您将看到速度仍然是可以接受的。

阅读和解析这些注释块需要时间,但这次时间很短,您不会注意到,无论如何,这不是不将(扩展和有用的)注释放入程序的借口:-)