How ReSharper increases productivity.
Thinking of buying Resharper? Thinking of purchasing licenses for your entire development team? While this can be expensive it's an extension you should really consider. Individuals and teams benefit greatly from working with ReSharper running while they code.
What is ReSharper?
ReSharper is a third party visual studio extension provided by JetBrains. It includes a wide range of added features that some find paramount to developing in VS.
Pro’s & Con’s of investing in ReSharper.
It has been well considered that ReSharper can highly increase developer productivity. A lot the the main ReSharper criticism boils down to performance lags in Visual Studio. In my experience i have never seen any major decreases in VS performance. If it's really performance lags that you are having an issue with then i would consider upgrading your hardware in general. Any add-ons, plugins, extensions you add to VS will of course slow it down more than the standard installation. Consider basic sublime text; incredibly fast until you start adding in extensions. Sometimes you just need to bit the bullet on performance lags for a more feature rich IDE.
One massive thing in ReSharper i admire is the ability to format code to a specified set of rules. Consider a development team of 20+ developers, all with different backgrounds and different preferences of naming and structuring code. One simple cleanup command allows the developer to refactor the code to the general rules of the team. Something as simple as this can save time all across the board. I have been in many situations where it has taken me longer than it should have to try and debug through somebody else’s code that i am unfamiliar with. Keeping code organized and comprehensible for future development is vital as projects grow. Sharing a ReSharper syntax template results in all code formatted to standards with a simple key press.
Should you become reliant on a third party tool? Should i begin developing in .NET with ReSharper and then find myself lost in a situation where i do not have access to it? These are some issues i would consider if i am new to .NET. I have found myself in the situation of working in a .NET environment for two years before setting up ReSharper and i'm thankful for that.
Probably the most time saving feature of ReSharper is its ability to provide automated code refactoring s. Having refactoring abilities available at a keystroke is without doubt a massive time saver. I find myself learning from these changes and then applying these techniques in the future as i code, before ReSharper suggests them to me. ReSharper’s refactoring s in LINQ can literally save your application massive amounts of processing time. Readonly LINQ queries for example, suggested in place of what you may have had before. If you are new to LINQ then ReSharper will in fact greatly increase your LINQ knowledge. ReSharper has a feature that allows you to rewrite for and foreach loops into LINQ expressions.
Navigating through your project becomes a breeze with ReSharper. “Go to Implementation” is without question one of my biggest ReSharper uses. VS does provide a similar “Go to Definition” however i have when that takes you to an interface in which i end up navigating to the original class myself anyway. With resharper this takes you directly to the method. “Find all References” again is a feature of ReSharper that lists for me all the areas of reference there are to my method. It also by default displays a small count of the references which i like to have just in case i find myself working on a method that touches major parts of my system.
1) Business License:
2) Individual License:
Luckily i am working with ReSharper in a team development environment and my license are provided to me. I don't actually use ReSharper for my personal projects. The main reason for this is that i start a personal project, spend a month or so working on it. I then move to something else (in a different language altogether) and then don't return back for a few months or even a year.
Another thing to note is that over time some of the features that we saw before only in ReSharper are now becoming part of the standard VS IDE.
ReSharper keeps a development team on the same project all on the same page. Keeping everything in tune completely avoids spaghetti code and makes the development environment ten times more adaptable when on-boarding new developers to your project.