评论如何以及评论对应用程序性能的影响有多大?

3
我创建了一个小的Ruby on Rails 3应用程序。在我的文件中,我已经注释了大量的代码,以详细记录每个方法。每个文件的文档约占整个文件的四分之一。
这将对应用程序性能产生什么样的影响,以及影响有多大?运行生产环境(可能编译应用程序),注释将在加载文件时被评估或完全忽略而不会影响性能?

7
我认为一个人不应该纠结于这种问题,拥有干净、清晰的代码是一种巨大的优势,没有性能问题会阻碍你这么做。规则应该是:让代码写得好,让代码写得清晰。然后,如果遇到性能问题,就要理解瓶颈所在并仅在那里采取措施。话虽如此,我猜想答案是性能上没有区别。 - ecoologic
与您和数据库之间的网络延迟或客户/客户端浏览器和应用程序相比,忽略代码中的注释所需的额外时间不值得担心。如果您非常关注这一点,那么可以运行几百万个基准测试循环并自行查看。 - the Tin Man
3个回答

5

这个操作基本上不会对性能产生任何影响。有人可能会认为评估注释会稍微慢一些,但是你的代码的可维护性和可读性将会如此之大,以至于无论在Ruby的评估中刮微秒的时间都不值得。

在生产环境中,如果您在config/environments/production.rb文件中指定了cache_classes设置(您应该这样做-这是默认设置),则应该对您的对象进行一次评估并缓存:

# The production environment is meant for finished, "live" apps.    
# Code is not reloaded between requests
config.cache_classes = true

认真地进行注释!未来的你会感谢现在的你。


1
未来的你会感谢过去的你。我知道,也将会知道。 - user502052
由于Ruby是解释性语言,因此需要在运行时读取文件...如果您有大量的注释,这实际上会减慢应用程序的速度,因为每个系统调用都需要读取注释。可以在构建或部署代码之前剥离注释。我没有基准来支持这个理论。 - tylermauthe

5

祈求你能够非常成功,以至于你必须缩减你的评论。


祈祷我们都能成功。太好笑了。 - Dominic

0

我认为答案可能没有抓住重点。在另一个环境中,我维护了代码的开发版本(完全注释);实施过程迁移了代码,但没有迁移注释(出于性能考虑)。如果您对自己的实现过程有信心,那么您可以同时拥有最好的两个世界。

这并没有回答问题,而是澄清了理想情况 - 在生产中没有额外开销,但仍然有完整的注释代码。

正如已经说过的 - 永远不要吝啬注释。宁可多一些,也不要太少。


不同意。问题是“这会影响应用程序性能吗?”,而答案是“不会以任何可衡量的方式”,而不是“我如何轻松地为生产站点删除注释?” - Dominic

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接