【问题标题】:Does Java include comments on the compiled code?Java 是否包含对已编译代码的注释?
【发布时间】:2010-10-27 10:21:06
【问题描述】:

嗯,标题是不言自明的。我在编译一个有很多行注释的项目时想知道这一点。这有点傻,因为 jar 文件不会增加太多(一些字节),但我很好奇这是否会影响具有大量代码和 cmets 的程序。

谢谢

【问题讨论】:

    标签: java compiler-construction


    【解决方案1】:

    不,cmets 通常在任何语言中都被删除(不仅仅是在 Java 中)。它们在字节码中没有代表。留在那里的是带注释的东西等等

    【讨论】:

    • 并非全部 :-) 在 PHP 中,您实际上可以反映类或方法的 cmets。见php.net/manual/en/reflectionclass.getdoccomment.php
    • 嗯,PHP 是一种解释型语言。因此,您的代码不像 Java、C#、C++ 那样编译...如果您使用 eAccelerator 之类的东西将代码存储在其已编译的代表中,您将无法使用此功能,因为 cmets 已被剥离
    【解决方案2】:

    它不会影响执行或性能(除非您注释掉了错误的语句:-)

    但它肯定会影响可读性。没有理由有大块注释掉的代码(在生产中),version control 是要走的路

    另见this question问题已结束。

    【讨论】:

    • 感谢大家的回答。我只是在做一些基本的东西,没有使用颠覆或任何东西,但是当我使用这些工具时,我会记住你的建议!
    • 这个标题让我对它的内容感到好奇。 original 被删除了,不知道为什么。可以在here 找到您是否在更新的类中将历史代码注释掉? 的链接。
    • “这个问题”的链接不再起作用。
    • @mikebabcock 看起来另一个问题现在已经结束。谢谢你告诉我。
    【解决方案3】:

    不,文档不包含在编译的类文件中。

    可以使用javadoc 程序生成javadocs。所有的 javadoc 都会被转换成 HTML。

    【讨论】:

      【解决方案4】:

      不,没有添加。

      但是,您应该考虑杀死死代码(即注释代码,也包括未使用的代码)。如果您认为“也许我会再次需要该方法”,只需删除该方法,如果您真的有一天需要此方法,请使用您的 SCM 工具(Subversion、Git、CVS 或其他)检索这个旧代码...

      【讨论】:

      • @XXL 注释代码:如果代码被注释,则表示不再使用。那为什么要保留它? (您可以使用 SCM 再次找到它,这就是它的目的)。死代码:同样的备注:如果不使用为什么要保留它?
      猜你喜欢
      • 1970-01-01
      • 2019-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-10
      • 1970-01-01
      相关资源
      最近更新 更多