【问题标题】:If we have too much commented code in .net would it effect code performance?如果我们在 .net 中有太多注释代码会影响代码性能吗?
【发布时间】:2010-04-29 06:25:57
【问题描述】:

如果我们在 .net 中有太多注释代码会影响代码性能吗?

【问题讨论】:

  • 你能举个例子用 cmets 编写这样的代码吗?
  • 但是许多 cmets 会影响您的维护,因为您可能过度记录了您的代码(否则您不会有这个问题 - 并提出了一个问题)
  • 也要避免空格——它们对性能的影响与 cmets 一样大。这包括\n 字符!
  • 别忘了标记你最喜欢的答案。

标签: .net performance comments


【解决方案1】:

几乎所有编译语言在创建生成的二进制文件时都会丢弃 cmets(这包括所有 .NET 语言、Java、非托管语言等)。

解释型语言(如 JavaScript,未编译时)可能会对性能造成很小的影响,因为解释器必须跳过 cmets。但它太小了,你不应该关心它。

真正的问题是为什么你需要有这么多的 cmets?过多的 cmets 会损害可读性,从而损害可维护性。评论应该简洁、准确和简洁,并且不应陈述显而易见的内容(例如i++; // increment loop counter)。他们应该帮助解释为什么要做某事(边缘案例、黑客攻击),描述如何以及何时使用代码(API 文档)或解释方法或类中发生的事情的要点。如果代码不可读,请尝试重构它。如果有复杂的业务流程,请在相应的项目文档中进行深入描述,而不是在代码 cmets 中。另外,不要留下大量的注释代码,这会更加损害可读性。如果不再需要,请将其删除 - 删除的代码无论如何都应该存在于您的源代码管理中。

【讨论】:

  • +1 以获得更好的答案。绝对比“保证”更好:)
【解决方案2】:

完全没有。 生成的 IL 字节码将是相同的,有或没有 cmets,有或没有缩进等。

【讨论】:

    【解决方案3】:

    由于代码中更多的 cmets,常见的解释语言将受到影响。但是c#是一种编译语言,cmets不影响执行。在编译开始时,编译器会删除所有以//字符开头的行以及/*和*/分隔符之间的文本。所以不会有性能下降。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-04
      • 2019-08-16
      • 1970-01-01
      • 2020-11-12
      • 1970-01-01
      • 1970-01-01
      • 2010-09-21
      • 1970-01-01
      相关资源
      最近更新 更多