#Develop – Open Source Alternative to Visual Studio

For my entire working career, I have been a Microsoft boy. I use Windows (including desktop and server operating systems) and I am a .NET fanboy. It’s a fun environment to program with, flexible and the tools are great. Also I have never really given open source much thought. Not because I don’t agree with it, or anything negative, but I have just never really bothered with it. Until recently that is.


About 7 years ago, I tried Open Office, and I didn’t have a very good experience. More recently I have been having more problems with Microsoft Office. It is slow, clunky, and quite unreliable in that I experience more crashes with it than I would like. I decided to try Open Office again, well more specifically Libre Office as that’s what the cool kids seem to recommend. This suite has had quite a while to mature, and you know what, I love it. It is fast, compact, and reliable. It interoperates with Microsoft Office documents perfectly and is a joy to use, so I have made this a permanent switch.


This got me thinking. If something like Libre Office is a slick as it is, and Free (Free as in cost and freedom with the source being open), then what other goodies are out there. This has led me on to switching over to many open source tools instead of commercial tools. I now frequently use Gimp and XMind. I am also looking to switch away from Enterprise Architect to an open source UML tool. I haven’t picked my final tool yet, but Modelio is looking very good.

Top 10 Tools That Have Changed the Way I Work

In the modern software development world we rely on lots of different tools to help us with our jobs. In this post I thought I would list the tools which I rely on each day and couldn’t live without. Each and every one of these tools forms a large part of my daily productivity.
The tools I want to cover are:

  • Visual Studio 2013
  • Resharper
  • NCrunch
  • NDepend
  • Mind Genius
  • Enterprise Architect
  • Balsamiq
  • Notepad++
  • Paint.NET
  • DropBox

I would really like to hear from people in the comments about the tools that you rely on. Mainly as I am always on the lookout for new tools, but it is always good to see what other people like to use as I am sure you are all a very diverse bunch.

Visual Studio 2013

I have been using Microsoft’s Visual Studio in various versions since Visual Studio 5 back in the 1990’s. Visual Studio has come on leaps and bounds since those early days of C/C++ coding. Microsoft has recently released Visual Studio 2013 and this is definitely their best version of the tool-set yet.

Visual Studio 2013
Visual Studio 2013

I mainly use the .NET development tools and flit around between Winforms, MVC and WCF projects. Visual Studio 2013 comes with lots of enhancements to the IDE including code preview scroll bars, Code Lenses, Peek Definition, Sign into Visual Studio and the new group by class in the test explorer. I think for as long as I am ever writing code I will be using Visual Studio, so it will be interesting to see where Microsoft takes it next.

Visual Studio 2013 New IDE Features

Disclaimer : A reader over at Reddit commented that I didn’t mention which edition of Visual Studio I was basing this article on as some of the features are not available on certain editions of the tools. This article is based on Visual Studio 2013 Ultimate Edition which I use via my companies MSDN subscription.

Now that Visual Studio 2013 has been released and I have had a little play around with it, I thought I would write about some of my favorite new IDE features. Microsoft has added in some useful features that will really make using the IDE a richer experience.

As a larger package Microsoft has packed a lot into Visual Studio 2013. For a more complete look at the new features in this development environment you can view the official release notes at MSDN.

Visual Studio 2013 Integrated Development Environment
Visual Studio 2013 Integrated Development Environment

The new IDE features I want to cover are:

    • Code Preview Scroll Bar
    • Peek Definition
    • Code Lenses
    • Test Explorer – Sort by Class
    • Sign in to Visual Studio

    Continuous Testing with NCrunch

    Disclaimer: I currently do not own or have been given a license to NCrunch. I am forming my opinions of it based on the use of the 30 day evaluation license.

    In this article I want to talk about a very useful tool called NCrunch. I have had a few people recommend the tool to me recently, so I thought I would check it out. I am glad I did. So, what is NCrunch? The description on their site explains this nicely.

    Continuous Testing with NCrunch
    Continuous Testing with NCrunch

    NCrunch is an automated concurrent testing tool for Visual Studio .NET. It intelligently runs automated tests so that you don’t have to, and gives you a huge amount of useful information about your tested code, such as code coverage and performance metrics, inline in your IDE while you type.

    On reading that I first though, hmm, well doesn’t visual studios test explorer do that, and it does, but this tools goes a step further. In essence NCrunch executes tests in the background whilst you work giving you continuous feedback. Initially I thought that’s not really such a big deal. One of the projects I am working in has 690 unit tests and because they are true unit tests, as in they don’t hit databases or external resources, then they only take 20 seconds or so to run. Even though this is the case you still get into the compile, run the tests, check the results, fix or carry on loop.

    Using NDepend to Analyse the Quality of your Code

    Disclaimer : My license for NDepend was provided free by Patrick Smacchia at NDepend. This license was not given to me in return for a good review. The article below is based purely on my own observations and use of NDepend.

    A while back I published a couple of articles on Structured Code Reviews:

    Structured Code Reviews and Code Quality

    Unit Test Coverage, Code Metrics, and Static Code Analysis

    In these articles I discussed a code reviewing process aimed at sharing knowledge and increasing code quality in your team. In these articles I discussed using the tools already available to you in Visual Studio 2012, like the Unit Test Runner, Code Metrics, and Static Code Analysis.

    Using NDepend to Analyse the Quality of your Code
    Using NDepend to Analyse the Quality of your Code

    In this article I want to expand on the tools available by looking at a 3rd party tool called NDepend. So, what is NDepend? First let’s look at the description from their website.

    Make your .NET Code Beautiful with NDepend

    NDepend is a Visual Studio tool to manage complex .NET code and achieve high Code Quality. With NDepend, software quality can be measured using Code Metrics, visualized using Graphs and Treemaps, and enforced using standard and custom Rules.

    Hence the software design becomes concrete, code reviews are effective, large refactoring are easy and evolution is mastered.

    Essentially NDepend is an analysis tool that really allows you to dig deep into the structure and quality of your code. You may want to do this for various reasons. You may want to routinely keep an eye on the quality of your project, or you may have to get under the skins of a large piece of legacy code so that you can refactor it.

    Siren of Shame Build Monitor

    Recently a few of the developers on my team decided to put a build monitor up on the TV we have in our team area. They settled on a system called Siren of Shame. Essentially this monitor tells you the health of your builds (we use it with TFS but it supports many more source code repositories and build systems). Siren of shame has a little twist though that has some other advantages.

    Siron of Shame Build Monitor
    Siren of Shame Build Monitor

    The system is built around a leader board and points system. For a successful build you get 1 point. For a failed build you lose 4 points. Not only do you lose points, the PC that the monitor is running on emits a very loud trumpet like alarm, alerting the team to you failed build. It is really rather amusing when the alarm goes off, although not so amusing for the poor person who has broken his build!!!

    You can also earn awards the longer you use the system like CI NINJA and other such funny power ups. You also get awarded points for fixing someone else’s broken build. Whilst this is all amusing and a bit of fun, it does encourage a slight behaviour change in a team. For a start, no one wants to be at the bottom of the leader board, so to get a better position in the board you need to check in little and often, no more only checking in once a day as this should be frowned upon anyway.

    Siron of Shame Build Monitor
    Siren of Shame Build Monitor

    I think using this tool has made a difference to the team in the short time we have been using it. I would summarise the benefits as:

    • Visibility your build health.
    • Encourage developers to check in little and often.
    • Rewarded for fixing other peoples builds.
    • Promotes a little healthy competition.
    • More accuracy. No one wants that build siren going off as we poke fun at them..
    Participate with Coding in the Trenches on Facebook
    Participate with Coding in the Trenches on Facebook by Click the button above.
    %d bloggers like this: