选择CodeRush(DevExpress)还是ReSharper(JetBrains)的问题一直困扰着我,他们都能提高开发效率、加快并简化软件开发,并且都提供语法分析、代码高亮、错误提示、高级智能感知、代码模板等功能。在进行代码分析重构插件的选型过程中,我对他们做了一些对比,现在分享给大家,希望对大家有所帮助。
CodeRush和ReSharper有什么相似点?
先来看看CodeRush和ReSharper有什么相似的地方。他们都是Visual Studio的插件,都能大大提高工作效率和代码质量。CodeRush和ReSharper主要以三个方式来优化代码(还有其他许多小的优化方式,这里就不一一介绍了):
- 更容易确定代码段是否是你自己编写的;
- 更容易对代码进行重构;
- 提供“高级智能感知(Intellisense on steroids)”,使编码量大大减少。
CodeRush和ReSharper功能点
CodeRush是DevExpress的产品,他们的介绍中是这样写的:
对于开发者来说,CodeRush是一个强大的Visual Studio® .NET插件,他利用整合技术,通过促进开发者和团队效率来提升开发者体验,并帮助开发者以极高的效率创建和维护源代码。CodeRush拥有Consume-first申明,强大的模板,智能的选择工具,智能代码分析,创新导航以及无与伦比的重构集。
ReSharper是由JetBrains开发的,他的主要特点是:
- 连续的代码质量分析…
- 即时修复代码错误。
- 40种广泛的代码重构解决方案,确保你的代码库安全重构。
- 200多种代码编辑助理。
CodeRush和ReSharper的区别
我个人的体会是,CodeRush除了代码分析插件都有的一些基本功能外,最特别也是最根本的一点是CodeRush是一个插件平台——你可以为CodeRush开发插件,而不是 IDE 插件。另外值得一提的是CodeRush的代码模板和代码重构方面非常优秀,但是相比Resharper,CodeRush的语法高亮和智能感知等功能表现一般。
相比CodeRush,Resharper的各项功能都显得中规中矩,各项功能都比较平衡,使用起来倒也很方便。Resharper的设置功能没有CodeRush那么繁琐,灵活度也就差了很多。
授权方面,CodeRush只有一种授权方式,Resharper则分为5种授权方式(分为商业授权、个人授权、学术授权…),整体来看CodeRush的价格要优惠一些。
下表是我自己整理的一些CodeRush Vs ReSharper最重要的区别:
CodeRush赢在以下几点 | ReSharper赢在以下几点 |
代码重构 - 操作更少 | 启用格式化和重构规则只需要一次(一键修复) |
更多的重构 | 关键词重构比CodeRush多 |
更好地识别非托管代码中的内存泄漏 | 更多的代码问题报告 |
许多代码片段 - 编码量更少,但是前提是要记住快捷方式 | 更好的智能感知辅助功能 |
很棒的实时学习,上下文感知窗口 | 可能更集中在C#,对非托管代码相对较弱 |
更好的单元测试支持 | 更好的搜索 |
Resharper vs CodeRush性能对比表
CodeRush | ReSharper | |
视觉感受 | 好 | 一般 |
重构效果 | 非常好 | 一般 |
代码生成 / 代码模板 | 非常好 | 一般 |
新建模板 | 非常好 | 一般 |
运行效率 | 好 | 还行 |
代码分析 | 还行 | 还行 |
资源 | 丰富 | 丰富 |
网友看法
最近用CodeRush做了一个播客项目,不得不感叹他先进的技术,我以前一直在使用Resharper,他的不稳定让我十分头疼。大家的看法呢? —— by Thiru Thirunavukarasu
我使用CodeRush一年多了,今年他又更新了几次版本,现在运行速度快了许多,内存占用也比原来少了。 —— by mkm3
我选择CodeRush是因为他比R#“轻”了许多,更适合大项目开发。 —— by Tomasz Wisniewski
Resharper不错的,就是有点占内存。 —— by 麦克默菲