C# Developer Tools
Write maintainable, readable, and robust code faster within the shortest possible time. Take advantage of the existing C# developer tools to handle the technical donkey work and focus more on the business logic of your applications.
Topics to be covered
- IDE Tools
- Unit testing tools
- Database Abstraction Tools
- Version Control Tools
- Software Build Tools for .Net
- Other tools
A productive programmer is one who gets the job done within the budget, allocated time and most importantly writes code that does not haunt him for the rest of his life. Let’s look at some of the tools that can transform you into a productive programmer. Tools that will make you look back at your code six months later and not be ashamed of yourself.
Microsoft Visual Studio
This is the official Microsoft integrated development environment (IDE) for developing .Net framework applications. It can be used to write applications in a number of languages such as VB.Net, C# and others.
Visual studio can be used to develop desktop and web based applications, libraries, custom user controls, mobile devices and smart phone applications depending on the version of the Visual Studio.
Visual studio improves the developer productivity by providing features such as;
- Auto completion – saves time on keyboard keystrokes
- Shortcut keys – these are provided for routine tasks such as searching and replacing parts of source code.
- Color highlighting – this makes the code more readable by highlighting keywords, variables etc with different colors.
- Error checker – the built in error checks validates the code against syntax and compiler errors in real-time as you write code. This makes it easier to discover the errors and fix them on time.
- Manage SQL Server & Compact database from within VS – this saves you the trouble of opening multiple programs for coding and managing
The above list is not exhaustive, but it gives you an idea of how powerful VS is. For beginners, Visual Studio is the holy grail of IDEs. It is strongly recommended.
C# Development Alternative IDEs
- MonoDevelop - This is a great open source IDE especially for programmer who would want to write .Net code from different operating systems other than windows. It can run on Linux and other operating systems. It also provides features such as auto complete, color highlighting and other basic features expected of a modern IDE.
- Sharp Develop - This is an open source IDE for developing VB.Net, C# and Boo projects. It is great for programmers who like open source IDEs and would love to extend it.
C# Uniting Testing Tools
The goal of your application is to be used by the users, unit testing tools help you ensure that the code does what it is written to do. This will boost your productivity by writing code that is close to been error free.
- NUnit - this is an open source unit testing framework for writing unit tests for .Net applications. The tool is similar to Java’s JUnit. N Unit can be downloaded from here.
- xUnit - this is another open source unit testing framework. It is the successor to NUnit.
- MSTest – this is a unit testing framework developed by Microsoft.
Database Abstraction Tools
Data is one of the major components of the any information system. Chances are your application will have to store data into the database. Persistence Frameworks will boost your productive by acting as the middleware when storing and retrieving data from the database.
- NHibernate - This is an open source Object Relational Mapper (ORP) for .Net applications.
- Gentle.net - This is an open source persistence framework with features to generate SQL statements, perform data validations and cache results etc.
Version Control Tools
Applications evolve as users come up with new requirements. Keeping track of the changes made is important as it helps compare versions and restore old versions of the source code. Version control systems were designed to handle such activities. The following are some of the popular version control tools
- Git – it is free and open source. It can be used on small, medium and large projects. It has tools for integrating with visual studio and working in collaboration with other development team members. It is cross platform
- Mercurial – this is a cross platform version control system that primary works from the command line. It also has graphical user interface extensions for developers who prefer working with GUIs.
- SourceGear Vault – this is a version control and bug tracking system. It uses the client-server model and can connect to MS SQL Server/IIS. It can be integrated into Visual Studio.
We write software so that we can be used by the users. This means it has to be deployed to the users’ machine or remote servers. Build tools are designed to do the donkey work of creating software builds allowing you to focus on the application functionality.
- FinalBuilder – this is an integrated build tool. It has a graphical user interface, allows authoring, executing and carrying individual steps from the same application.
- MSBuild – this is a build tool developed by Microsoft. It was primary developed for Visual Studio. It can be used to compile source code, package, deploy and create documentation.
- NAnt – this is an open source build tool. It was designed for .Net applications. It requires the .Net framework.
- ReSharper – if coding standards and writing professional code matter to you then this tool is for you. It has tools for analyze code and suggestions for code improvement. It integrates well with visual studio.
- AQTime – this is a perform analysis tool for applications developed in .Net languages, Java, and others.
- Developer tools increase developer productivity
- IDE tools help write code better and faster
- Unit testing tools help automate system tests
- Database abstraction tools help improve the performance for database powered applications
- Version control tools help manage the changes made to source code
- Build tools are useful for compiling, packaging and deploying software
- Other productivity tools include those for coding standards, performance testing and project management
Tutorial version 1: Date Published 2015-08-21