2008: Resharper vs. CodeRush

I know there is a lot of discussion if Resharper or CodeRush is better. At my company, we currently use Resharper, and I'm fine.

But last week I watched a screencast about CodeRush and thought it was awesome. There are so many “new” refactorings that I immediately thought about migration.

What is your favorite tool for refactoring, code analysis, navigation inside Visual Studio, etc. and why? In which areas, in your opinion, is it best to parse Resharper and in which areas of CodeRush?

+82
visual-studio resharper coderush
Aug 23 '08 at 13:17
source share
18 answers

Honestly, both of them are equal to the task. What I found is that CodeRush / Refactor Pro has a steeper learning curve, but once you have trained yourself and the environment (and switched a few keystrokes), CodeRush really becomes effective.

ReSharper is equally good and don't let anyone mislead you on this. They are not equal, and this will depend on your needs. CodeRush is more extensible (IMO), but if you go from one to the other, you are missing a couple of things from the other.

In July, I took a month and I did what you are talking about (I switched from ReSharper to CodeRush and wrote about it on the blog).

I am satisfied with the end result (there are a couple of things that I am missing ... CodeRush Code Analysis still does not quite correspond to the ReSharper level and the "Replace" refactoring ... besides, I found everything I need).

Here are my blog posts so you can link to them (if you want) ...

Hello CodeRush!
After Week 1
2 weeks with CodeRush
CR / RP Wrapup

As I said, although both tools are excellent and depending on your willingness to learn a new tool, you can be better with what you have right now.

+91
Oct 28 '08 at 13:51
source share

CodeRush refactoring experience is faster and smoother (fewer keystrokes, fewer dialogs - zero, fewer mouse movements) than ReSharper's. When renaming or changing a signature that affects many unopened files on a disk, CodeRush correctly supports canceling multiple files. In contrast, ReSharper presents a dialog box asking if you want to cancel support for this renaming, and if you say yes, ReSharper will continue to open all files affected by refactoring.

CodeRush has more refactoring than ReSharper, although ReSharper has a nice Move to to class refactoring element that hasn't gotten into CodeRush yet. ReSharper also has a nice rename function that allows you to rename variables that contain the class name when renaming this class. For example, if I rename the "Spaceship" class to "Spaceship", ReSharper will find identifiers with names like "superSpaceship" and offer to rename them to "superSpacecraft".

CodeRush is slightly faster than ReSharper when starting Visual Studio and when opening a project. ReSharper uses more memory, six times more on really big decisions (for example, 1000+ classes).

ReSharper reports more about problems with background code than CodeRush, and problems with ReSharper code are generally useful (for example, the parameter type can be reduced to a class closer to the object), however CodeRush includes a problem with code that does not display local variables that implement IDisposable, which is very useful.

CodeRush sends significantly more code templates (for example, VS code fragments) than ReSharper, and CodeRush templates are designed for optimal efficiency (for example, "ms" creates a method that returns a string, "vb" creates a variable of type bool and "nl.i" creates a new initialized list). Your fingers benefit from efficiency, but patterns get used to practice. The CodeRush learning window can ease this learning curve if you use it during coding. Interestingly, CodeRush templates effectively abstract the programming language, so developers working in several languages ​​(or switching from one language to another) can press the same keys and get essentially the same code, regardless of the language in which they are encoded.

ReSharper has a nice Intellisense replacement and an interesting tool replacement. ReSharper has a hint function with a variable name, which is useful. ReSharper also has a code reformatting feature that is very nice.

CodeRush TDD declaration functions for the first announcement require less keystrokes than ReSharper (see them in the free CodeRush Xpress, which includes most of the consumption declaration functions sent in the full version of CodeRush).

ReSharper find all link windows has several panels for each search performed, which is nice. CodeRush provides only one panel for the last search performed. CodeRush has a neat Tab to Next Reference function that gives you all the identifier links just by pressing the Tab key (Shift + Tab returns you). CodeRush Find All References appears faster than ReSharper.

The CodeRush Unit Test Runner, released in version 9.3, supports many test frameworks (NUnit, MSTest, xUnit, and MbUnit). Runner CodeRush Test Runner also understands more structure attributes (e.g. NUnit ExpectedException MatchType parameter) and also supports dynamically generated tests (e.g. RowTests, Values ​​attribute, factories, theories, etc.). Support for test frameworks is extensible, and CodeRush contains the source code for each of the modules of the test framework plugin.

+33
Dec 18 '09 at 20:03
source share

I have been using CodeRush + RefactorPro for a long time, and my friend in the same team uses Resharper.

I really would like to have code analysis at the same level that it has in R #. CR is simply poor here. R # goes well with code layout features and has a decent test runner. There is no code layout and formatting tools in CR, and a test runner has not yet been released. He is at the planned stage.

As for navigation, we will find both tools equal.

My friend is jealous of the patterns CR has. R # templates are far behind. In addition, the R # learning curve is worse. CR is much easier to understand. In addition, the refactoring provided by Refactor Pro is better than in R #. They are easier to handle. So, in terms of writing code, I find CR better.

Recently, we both tried to write plugins for implementing functions that we see in the opposite tool and would like to have. I was able to make this waaaay easier for CR. DXCore extensibility is weakening.

Overall: R # has a lot more features, but they are much harder to learn. Also, if you find something is missing, CR is easier to expand.

+15
Aug 14 '09 at 21:04
source share

CodeRush is where he is in humans. I did not like resharpers intellisense, so I disabled it, which makes resharper less useful.

+14
Aug 23 '08 at 15:55
source share

This is for me. I have been using it since the release of EAP and I love it! As you say, this is much more than refactoring - this is how it supports me in navigating and understanding the code, which I use much more than refactoring. Two of my favorite features are the layout of the elements to clear code and type.

I find Tim's comment intriguing, where he says:

he reasonably applies himself to existing things that you do

I would be interested to know what it is in CodeRush. I really respect Developer Express products.

+10
Aug 23 '08 at 15:12
source share

I've been using CodeRush and Refactor for a long time! Pro. CodeRush is more than just refactoring. As soon as you learn the rules that it sets, the encoding speed increases. However, even before you learn the rules, he intelligently applies himself to the existing things that you do, and facilitates their implementation.

In fact, what I miss most about coding in Ruby on Rails is that I don't have an IDE with CodeRush and Refactor! TextMate packages give me part of the way, but it's not the same.

They have a free trial, so I recommend you run it and see how you like it. I have never looked back.

+9
Aug 23 '08 at 13:42
source share

I have tried both. JetBrains Resharper is better for me than DevExpress Coderush.

JetBrains is better with an IDE (after all, they have their own IDE for Java) DevExpress is better with nice components.

+8
Oct 23 '08 at 4:14
source share

Having tried both options, I would say that the latest version of CR / R has an advantage in terms of integration with the programming workflow. Usually you will not see a dialog box asking if you want to do this or that, it just flows with what you are doing. You always delete the click of all available refactors, etc. The latest version includes IMHO important refactors, such as the push / move method. Navigating through your classes is faster in CR / R.
I also noticed that performance in large projects is generally better in CR / R than in Resharper.
Intellisense support is better in Resharper, as well as code analysis.

+7
Nov 08 '08 at 16:56
source share

Is there a performance difference between the two? I was a ReSharper user for a long time, but finally gave up when I could no longer withstand sluggish performance. The more complex my project (forms, etc.), the slower the machine became. I deleted it and performance was way better. Is CodeRush Slow?

+6
Sep 14 '09 at 23:02
source share

I used Coderush a year before TDD. I have now used Reshaper for almost 1.5 years. I easily walk an hour or two without using a mouse now thanks to R # (just because I often run out of batteries)

If you practice TDD and learn to fully use the tools, then Resharper is the way to go, I hit many frustrations with CodeRush in TDD, and it seems that at that time the efforts were going to make a javascript evaluation, rather than evaluate the performance improvement for the C # core.

If you are the type of person who uses Resharper for CTRL + T and mouse click refactoring, then you are likely to get more from Coderush, especially if the property generation is raised high on your list of considerations. The impressions of the 1st day CodeRush wins, as well as Day X, if you do not learn how to fully embrace the instruments, but by the end of the month one of them will receive a solid win Eval Resharper. The next time you get to the mouse, is there a shortcut for this, try it.

Resharper has a higher learning curve for the transition (you need to talk freely about things outside the goto type) and works with optimal potential using the TDD approach.

+3
Jul 07 '09 at 9:59
source share

I do not think there is any comparison. I used Resharper for many years, but as soon as I switched to CodeRush, I did not look back. The big reason I switched to CodeRush is the terrible performance of Resharpers with VS2010. R # made the IDE almost unusable. I have a dual-core Intel with 6 GB of RAM, and it still had serious problems. This seems to be a consensus. CodeRush is similar to its not even VS2010. Very light weight and just healthy. I don’t think that one of them is much better than functions, and there are many things that I like more in R #, but Jet Brains really threw the ball when VS2010 came out, and I was very disappointed.

+3
Aug 07 2018-10-10T00:
source share
+2
Feb 21 '09 at 17:47
source share

Even a year later, I have to pay tribute to Mark Miller, who gave a very fair comparison.

Both products have improved since publication, and I have no performance issues.

One of the features that Resharper is very difficult to live with is the File File refactoring compilation. You can select several files in the solution explorer and transfer them to a new folder and / or project, and ReSharper will fix the namespaces and links for you. Today I used this function with some outdated codes, and I believe that it saved me at least 4 hours of tedious work.

The DX_MoveCode community plugin provides a bit of this behavior, but without the ability to update the namespace and all references to types that are moved, they simply don't compete.

R # Code formatting is very difficult to live, especially if you work with outdated code.

I love the fact that Code Rush refactoring is so cleaner and more productive, however, these R # dialogs provide me with the ability to update variables, comments, and lines related to refactoring. For me, the cost of dialogue is justified by this support.

One thing that surprises me is how CR displays code problems: ticks to the left and right of the editing surface and a HUGE hint. The tics are great, but give us the opportunity to turn off this hint. I am surprised because CR usually does a good job of staying out of the way, these tips can sometimes be a pain.

Working with parameters in CR is a major pain. Code Rush does not do a good job of simplifying or making available modifications to its rich set of options.

For me, if CR provided the same Move File and Code Formatting R # functions, I would buy them immediately. I am a suction cup for eye candy, and CR has it at its peak.

+2
Dec 17 '10 at 1:08
source share

I use resharper - just downloaded the free CodeRush thing .. but there are no items in the menu bar. / .. nothing .. just a line between the brackets ... so I think I will stick with resharper ..

+1
May 19 '09 at 8:57
source share

The reason I got R # for code analysis. Showing me an error in real time is awesome. CR does not have him or him weak. he accepts their foreevr to get right.

I also love R # navigation links.

CR is probably better at refactoring, but I rarely do refactoring. I do it manually. Refactor Pro has so many refactorings that you can be buried. The learning curve is steep.

+1
Jul 15 '09 at 17:23
source share

Recently, I did some major refactoring and said that I can no longer work without Resharper.

You can just learn so much about things like using methods, classes, interfaces, descendants, etc.

And if you want to apply refactoring, there is a lot of support that makes Resharper mandatory for me.

+1
Aug 12 '09 at 2:00
source share

Both of these tools are excellent. I am currently using Refactor! Pro. I just started using CodeRush Xpress. I used ReSharper a bit on the client site back in 2005. I bought a Refactor! Pro a couple of years ago, because at that time he had wider language support. At that time I was doing VB and Refactor! supported him, ReSharper did not do this. I prefer the UI paradigm in CR / R! but since I have not used the current version of ReSharper, I cannot judge which is best. However, it seems that ReSharper is more advanced in the area of ​​code analysis. The main thing is that both tools are good and better than what you get out of the box with Visual Studio!

0
Feb 28 '09 at 11:40
source share

I have been using IntelliJ and R # for a long time, and I'm sure it will be difficult for me to switch, but my curiosity about what I miss is strong enough to get closer to trying. From what others are talking about on this questions page and elsewhere on the Internet, I think that I will still miss the navigation and analytic capabilities of R #.

I found this video page that shows CR / RP features. This can be useful for people like me who want to see what they are missing before installing anything:

Training Videos and Online Tutorials - DevExpress Coding and Refactoring Tools

0
Jun 04 '09 at 14:33
source share



All Articles