Coding standards and Best practices tools

With a few months of programming experience, you can write 'working applications'. But doing it the most efficient way requires more work than just making it work! Writing 'Efficient Code' requires skills and practice makes perfect.

But there are few tools which can help you achieve it to an extent.

  1. Resharper
    ReSharper is a refactoring and productivity extension by JetBrains that extends native functionality of Microsoft Visual Studio 2003, 2005, 2008 and 2010.

    ReSharper executes solution-wide static code analysis (error detection on-the-fly, without the need to compile), provides additional features for error correction, code completion, navigation, search, syntax highlighting, formatting, code generation and optimization, carries out 40 automated refactorings, and streamlines unit testing using NUnit and MSTest, among other features.

    More Info: http://www.jetbrains.com/resharper/

  2. Gendarme
    Gendarme is a static code analysis tool that runs tests on our code, checking for avoidable bugs etc. It would also suggest how to optimise the codes. Gendarme is an extensible rule based tool to find problems in .Net applications and libraries. Gendarme inspects programs and libraries that contain code in ECMA CIL format (Mono and .Net) and looks for common problems with the code, problems that compiler do not typicall check or have not historically checked.

    More Info: http://www.mono-project.com/Gendarme

  3. StyleCop
    StyleCop analyzes C# source code to enforce a set of style and consistency rules. It can be run from inside of Visual Studio or integrated into an MSBuild project.

    More Info: http://stylecop.codeplex.com

  4. Pair Programming Review
    If time permits it is good to have some review of the code frequently. The easiest possible way would be pairing the programmers and reviewing each other code.


Useful developer and programming tools

Microsoft developer tools are the best for programming. They make developer job very easy and convinient. But they do not offer everything you need to accomplish your task in the best possible way.

Here some very useful developer (free) tools which can make the programming more convinient.

  1. SoupUI
    Simulating and testing Soap web services. soapUI is a tool for functional testing, mainly of Web Services like SOAP based Web Services and REST Web Services, but also HTTP based services and databases.

    More Info: http://www.soapui.org/

  2. Reflector
    Explore and analyze compiled .NET assemblies and viewing them in C#, Visual Basic and IL. Converts compiles assembly code into C#, Visual Basic programming language code.

    More Info: http://www.red-gate.com/products/reflector/

  3. BareTail
    Very useful tool if you are viewing/monitoring log files. Configurable text highlighting and real time file viewing.

    More Info: http://www.baremetalsoft.com/baretail/index.php

  4. IETester
    Using this application you can test websites for IE5.5, IE6, IE7, IE8 browsers. Allows you to have the rendering and JavaScript engines of several versions of IE in the same application.

    More Info: http://www.my-debugbar.com/ietester/index_all.php

  5. SQL Data Compare
    SQL Data Compare is a very useful tool to compare and synchronise databases. This would compare two databases, individual tables and rows in each table. This would give good knowledge if you want to understand what happened to data before and after a complex SQL transaction.

    More Info: http://www.red-gate.com/products/SQL_Data_Compare/index.htm

  6. XML Spy
    XMLSpy is an advanced XML editor for modeling, editing, transforming, and debugging XML-related technologies. The XML editor delivers the power you need to create the most advanced XML and Web applications.

    More Info: http://www.altova.com/xml-editor/

  7. SVNMonitor
    Another great subversion client. Acts as a front-end to Tortoise SVN for all your projects.

    More Info: http://www.svnmonitor.com

  8. NDoc
    NDoc generates class library documentation from .NET assemblies and the XML documentation files generated by the C# compiler. NDoc uses pluggable documenters to generate documentation in several different formats, including the MSDN-style HTML Help format (.chm), the Visual Studio .NET Help format (HTML Help 2), and MSDN-online style web pages.

    More Info: http://ndoc.sourceforge.net/

  9. GhostDoc
    Another documentation generation tool. GhostDoc is an awesome tool that takes some of the drudgery out of documentation. It's an addin for VS and it's free; right-click on a method or property and it will parse the name and figure out the proper summary for you. It's pretty smart when it comes to inheritance documentation and the override methods.

    More Info: http://submain.com/products/ghostdoc.aspx

  10. LINQPad
    LINQPad lets you interactively query databases in a modern query language: LINQ. LINQPad is also a great way to learn LINQ. LINQPad is more than just a LINQ tool: it's an ergonomic C#/VB scratchpad that instantly executes any C#/VB expression, statement block or program with rich output formatting.

    More Info: http://www.linqpad.net/

  11. NAAK – the .NET Accessibility Analysis Kit
    NAAK is a .Net control which can be placed bottom of each page in your web application to notify you of any known accessibility issues. This helps ensure compliance in two ways. First, it clearly exposes accessibility issues to each developer, QA analyst, and application reviewer. Second, and more importantly, because it is returned as HTML with each page, it can be checked using any web user interface testing framework.

    More Info: http://code.google.com/p/naak/

  12. Blueprint CSS Framework
    Blueprint is a CSS framework, which aims to cut down on your development time and eliminates the discrepancies across browsers. It gives you a solid foundation to build your project on top of, with an easy-to-use grid, sensible typography, useful plugins.

    More Info: http://www.blueprintcss.org/

  13. Firebug
    Firebug is a Mozilla Firefox extension that gives you plenty of web development tools and features. Firebug has a built-in JavaScript debugger that lets you step through your script as well as allowing you to perform benchmarks to see why your script is slow/sluggish. You can quickly hunt down CSS, HTML, JavaScript, and XML errors through Firebug, and it even allows you to filter and search for specific errors. Another handy feature is the DOM inspector pane which outlines a web page structure.

    More Info: http://getfirebug.com/

  14. Web Developer
    Web Developer extension is a very handy and time-saving extension for Firefox. You can rapidly validate your XHTML, find JavaScript/CSS errors, visualize a web page’s structure, quickly fill out web forms for testing purposes, clear your cache with a shortcut key, change XHTML on-the-fly, inspect HTTP headers information, and much more.

    More Info: http://chrispederick.com/work/web-developer/

  15. Internet Explorer Developer Toolbar
    IE Developer Toolbar is the IE add-on that provides the such as the DOM inspector option or the CSS Information option. It also supports JavaScript debugging.

    More Info: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=95e06cbe-4940-4218-b75d-b8856fced535