Tuesday, June 02, 2009

Coding tools and a video

Recently I've had a burst of productivity regarding my Scripter project and all the functionality for 1.0 is there, I just need to clean code, write documentation and fix bugs.

Code quality
Clean and standardised code is a big helper when it comes to maintaining code later. Tools can be a great help in this by automated checking against certain rules to see all the problems you've missed, or suggest new solutions you didn't know.

There are two basci types of tools, tools that inspect source code and tools that inspect assemblies. I've look around a bit and found three tools that help me, one code and two assembly.

ReSharper: This is a great plugin for VS that check your code as you write and suggest solutions to potential problems. If you like me vehemently disagree with particular warnings(*cough* var type *cough*) those warnings can be turned off.

NDepend: This is a tool to analyse assemblies and show, well alot of information about them. It's free for open source programs and academics which is great, since it means I get it for free for Scripter. It checks for too large methods, potential problems when your code interacts with the .net framework and lots of other things.

FxCop: This is one of Microsofts tools to analyse assemblies. It finds problems that might result between versions of your software and genereally makes sure you follow Microsofts design guidelines which are generally good.

All in all these tools have been a big help in making my code cleaner.

GhostDoc: GhostDoc is a tool to automaticly generate the basic structure of comments. This really saves on time. Instead of typing the whole thing I press ctrl+shift+d and it generates the basics and then I just flesh out the details.

SHFB: Something really weird about C#is that there doesn't seem to be a standard tool to generate documentation from these nice XML-style comments. I'm currently looking at SHFB to see if I can get something human readable out of this.

Other news
In other news I've got a first video tutorial for Scripter up on youtube :)