【发布时间】:2011-02-18 13:05:14
【问题描述】:
是否有任何工具或方法可以检查如何优化我的代码?消除冗余?我正在使用 VS 2010
谢谢
【问题讨论】:
-
冗余到底是什么意思?
标签: c#
是否有任何工具或方法可以检查如何优化我的代码?消除冗余?我正在使用 VS 2010
谢谢
【问题讨论】:
标签: c#
我不知道删除冗余,但ReSharper 有一些很好的代码分析功能,可以帮助识别未使用的代码块。它还可以就更简洁的代码提出建议,但并不总是 100% 准确。
【讨论】:
这样的工具,即使它们存在,也不可靠。最好由优秀的开发人员或架构师进行代码审查。
【讨论】:
没有任何工具可以取代经验和专业知识。有许多生产力工具可以提供帮助,例如一个流行的工具是 ReSharper,但它并不能为您解决所有问题。在某些时候,您只需要依靠您的能力和团队成员的能力。学习如何编写好代码需要时间。
退后一步,以某些设计原则的思维方式查看您的代码通常会有所帮助。 S.O.L.I.D. 是一个很好的起点。您可以问自己的其他一些问题是:
【讨论】:
分析器可以让您很好地了解您的应用程序将大部分时间花在哪里。但是,从了解什么到如何进行优化,需要经验以及对一般代码库和问题领域的了解。
【讨论】:
您需要的是代码覆盖率工具。这些记录了正在执行的代码行。为了使其有效,需要完整的测试套件或手动测试运行。这将显示从未使用过的代码行,并帮助您做出决定。
静态分析还可以帮助您了解代码路径,并为您提供有关代码调用方式和位置的信息。
关于代码覆盖率的几个好问题:
What can I use for good quality Code Coverage for C#/.NET?
还可以看看微软的 FxCop 进行静态分析:
http://msdn.microsoft.com/en-us/library/bb429476(VS.80).aspx
【讨论】:
http://clonedetectivevs.codeplex.com/ 是一个 VS 插件。它在引擎盖下使用http://conqat.cs.tum.edu/。我没有真正使用它,但按照你的要求做。将其与代码审查相结合,可能会有所帮助。
【讨论】:
有一个(商业,249 欧元)解决方案检查重复代码,即使在大型项目中也是如此。
http://www.solidsourceit.com/products/SolidSDD-code-duplication-cloning-analysis.html
【讨论】:
为此,我们在TeamCity 构建服务器中使用内置Duplicated Finder。
【讨论】: