Developer’s handkit

However skilled you are as a technician, without the appropriate tools you would still be a dud. Just like a craftsman knows his/her tools, a software professional also has to know the tools that are apt for the job. Tools that are handy and that make you look professional is what I am talking about. I have found and used a few tools over the years that have helped me a lot at my work.

Following are some of them and a brief description of what they do. Most of them are free to use and others are only free to try…

Fiddler:

Have you ever found yourself wondering how Microsoft Internet Explorer interacts with your Web application? Have you encountered a strange performance bottleneck that you can’t track down? Are you curious about which cookies are being sent, or what downloaded content is marked as cacheable? [1]

Microsoft Fiddler can help you answer these questions, and many more. Fiddler is an HTTP debugging proxy that logs all HTTP traffic between your computer and the Internet. Fiddler enables you to inspect all HTTP traffic, set breakpoints, and “fiddle” with incoming or outgoing data. Fiddler is much simpler to use than NetMon or other network debuggers because it exposes only HTTP traffic and does so in a user-friendly format. [1]

Fiddler includes a simple but powerful Microsoft JScript .NET event-based scripting subsystem flexible enough to support a broad array of HTTP debugging tasks. Written in C# on the Microsoft .NET Framework, Fiddler is available as an unsupported PowerToy for Internet Explorer. [1]

HttpWatch is a tool that integrates with Internet Explorer and records detailed information about HTTP as you access a web site or application. If you access a site that uses secure HTTPS connections, HttpWatch automatically displays the decrypted form of the network traffic. [2]

I have used the free version called the HttpWatch Basic. This is an awesome tool for performance measurement and analysis.

IE Developer Toolbar

The Internet Explorer Developer Toolbar provides several features for exploring and understanding Web pages. These features enable you to:
1. Explore and modify the document object model (DOM) of a Web page.
2. Locate and select specific elements on a Web page through a variety of techniques.
3. Selectively disable Internet Explorer settings.
4. View HTML object class names, ID’s, and details such as link paths, tab index values, and access keys.
5. Outline tables, table cells, images, or selected tags.
6. Validate HTML, CSS, WAI, and RSS web feed links.
7. Display image dimensions, file sizes, path information, and alternate (ALT) text.
8. Immediately resize the browser window to a new resolution.
9. Selectively clear the browser cache and saved cookies. Choose from all objects or those associated with a given domain.
10. Display a fully featured design ruler to help accurately align and measure objects on your pages.
11. Find the style rules used to set specific style values on an element.
12. View the formatted and syntax colored source of HTML and CSS.

The Developer Toolbar can be pinned to the Internet Explorer browser window or floated separately.

DotNet Reflecter

Lutz Roeder’s .Net Reflecter a class browser, explorer, analyzer and documentation viewer for .NET. Reflector allows to easily view, navigate, search, decompile and analyze .NET assemblies in C#, Visual Basic and IL [4] . There are several AddIns that enhance the richness of this application. The AddIns can be downloaded at from http://www.codeplex.com/reflectoraddins

Ndoc – .Net 1.x

NDoc is a code documentation generator for .NET 1.x. 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. [5]

Sand Castle .Net 2.0Sandcastle produces accurate, MSDN style, comprehensive documentation by reflecting over the source assemblies and optionally integrating XML Documentation Comments. Sandcastle has the following key features: [6]
1. Works with or without authored comments
2. Supports Generics and .NET Framework 2.0
3. Sandcastle has 2 main components (MrefBuilder and Build Assembler)
4. MrefBuilder generates reflection xml file for Build Assembler
5. Build Assembler includes syntax generation, transformation..etc
6. Sandcastle is used internally to build .Net Framework documentation
This article was very helpful to me to get me going with learning to use this application: http://www.codeplex.com/DocProject/Wiki/View.aspx?title=Creating%20a%20DocProject%20for%20a%20new%20solution&referringTitle=Home

Araxis Merge

File comparison (diff), merging and folder synchronization has never been so simple before araxis. This application can be used it to compare and merge source code, web pages and other text files with native application performance. Compare images and binary files. Synchronize folders. Perform code reviews and audits. Work with source hierarchies containing thousands of files. [7] I would highly recommend to try the demo version and am pretty sure that you will be very impressed with the features offered by this application.

FxCop

FxCop is an application that analyzes managed code assemblies (code that targets the .NET Framework common language runtime) and reports information about the assemblies, such as possible design, localization, performance, and security improvements. Many of the issues concern violations of the programming and design rules set forth in the Design Guidelines for Class Library Developers, which are the Microsoft guidelines for writing robust and easily maintainable code by using the .NET Framework. [8]FxCop is intended for class library developers. However, anyone creating applications that should comply with the .NET Framework best practices will benefit. FxCop is also useful as an educational tool for people who are new to the .NET Framework or who are unfamiliar with the .NET Framework Design Guidelines. [8]

One Response

As an alternative to Araxis Merge, mostly due to it’s price. I recommend Beyond Compare, <$50US and I’ve used it for several large 3-way merges and am very happy with it’s performance and usability. It’s a very clean application, does what I expect it to and doesn’t get in the way. It also integrates with TortoiseSVN very well.

I’ve already downloaded HttpWatch and am going to give it a spin. Thanks!