2016-01-11 35 views
1

我想知道是否遵循了Resharper的所有标准和规则......它能帮助​​我提高代码的性能吗?Resharper是否有助于系统性能?

我不是在谈论如果我会更快的编码。我正在讨论在应用所有Resharper建议后运行的代码是否会比我的原始代码更快。

是否有任何种类的应用程序可以在分析代码后检测性能问题?

+0

Resharper将推荐编码准则,以期望以更高的一致性产生更简洁的代码。由于编译器优化可能已经发生,因此不能保证代码执行得更好。 –

+1

使用JetBrains等其他工具(如dotTrace和dotMemory)突出显示性能热点。 –

+0

谢谢您的意见! – Plata

回答

7

Resharper的一些建议将帮助您注意到潜在成本高的性能影响错误。例如,如果您多次遍历IEnumerable<>,则Resharper会提醒您,如果您在每次列举数据库时都需要往返数据库,则最终可能会严重影响性能。

但是,这不是Resharper的目的。我永远不会依赖Resharper来帮助你捕捉性能问题,甚至假定Resharper的建议从不损害性能。

事实上,我永远不会相信任何只分析代码的工具的性能相关建议。这些工具不知道你的日常数据会是什么样子。在保证程序正确的同时保证提高性能的任何可自动检测的更改可以由编译器轻松完成,而不会影响代码的可读性。

性能是一个棘手的野兽,你需要一个健康的常识,负载测试和分析指标组合来帮助你知道什么会有帮助,什么会受到伤害,什么是无关紧要的。根据我的经验,我们关于如何编写代码的99%决策属于后一类,所以最好专注于性能,与Resharper帮助您的日常清理代码决策分开。

+0

谢谢您的意见! – Plata