Tools of the Trade

Download Report

Transcript Tools of the Trade

Tools of the Trade:
Must-Have .NET Utilities
James Kovacs
November 18, 2004
www.quadrus.com
1
Agenda
•
•
•
•
•
•
The Holy Trinity
Source Control
Code Analysis Tools
Build Tools
Debugging Tools
Coding Tools
www.quadrus.com
2
The Holy Trinity
• NUnit (http://www.nunit.org)
 Unit testing framework
 See also:
• TestDriven.NET (http://www.testdriven.net)
• NAnt (http://nant.sourceforge.net)
 Make without the wrinkles
 See also:
• NAntContrib (http://nantcontrib. sourceforge.net)
• NDoc (http://ndoc.sourceforge.net)
 API documentation generator
 See also:
• GhostDoc (http://www.roland-weigelt.de/ghostdoc/)
• Documentor CodeRush Add-in
(http://www.paraesthesia.com/blog/comments.php?id=701_0_1_0_C)
www.quadrus.com
3
Source Control
• SourceGear Vault (http://www.sourcegear.com/vault/)
 VSS- or CVS-style check-ins
 SQL Server DB backend
• Subversion
 Subversion server (http://subversion.tigris.org)
• Command-line
• BerkeleyDB or file system backend
 TortoiseSVN (http://tortoisesvn.tigris.org)
• Explorer extension
 RapidSVN (http://rapidsvn.tigris.org)
• Traditional VSS-style GUI
 AnkhSVN (http://ankhsvn.tigris.org)
• VS.NET add-in
 vss2svn (http://vss2svn.tigris.org)
• Perl script to convert VSS DB to SVN
 FireDaemon (http://www.firedaemon.com)
• Runs SVN server as a Windows Service
www.quadrus.com
4
Code Analysis Tools
Static
• FxCop
(http://www.gotdotnet.com/team/fxcop/)
 Analyzes code against a rules database including coding standards, best
practices, and defects
• devMetrics
(http://www.anticipatingminds.com/Content/Products/devMetrics/devMetrics.aspx)
 Reports kloc and cyclomatic complexity
Dynamic
• NCover
(http://www.ncover.org/)
 Analyzes code coverage
• NProf
(http://nprof.sourceforge.net)
 Profiles application performance
• CLR Profiler
(http://www.microsoft.com/downloads/details.aspx?FamilyId=86CE6052-D7F4-4AEB9B7A-94635BEEBDDA&displaylang=en)
 Profiles allocations and garbage collections
www.quadrus.com
5
Build Tools
• CruiseControl .NET
(http://confluence.public.thoughtworks.org/display
/CCNET/)
 Continuous integration server
 Builds done through NAnt, DevEnv, or custom
 Runs unit testing (NUnit) and/or code analysis
(FxCop) on builds (optional)
 Reports build and/or test failures via email
 Dashboard (ASP.NET app) shows current and
past build status
www.quadrus.com
6
Debugging Tools
• Lutz Roeder’s Reflector (http://www.aisto.com/roeder/dotnet/)
 Reverse engineers MSIL into C#, VB.NET, or Delphi
 See also: FileDisassembler Add-in
(http://www.denisbauer.com/NETTools/FileDisassembler.aspx)
• ClrSpy
(http://www.gotdotnet.com/Community/UserSamples/Details.aspx?Sample
Guid=c7b955c7-231a-406c-9fa5-ad09ef3bb37f)
 Exposes Customer Debug Probes (CDP) for diagnosing problems with
COM Interop and P/Invoke
• XmlSerializerPreCompiler
•
(http://www.sellsbrothers.com/tools/#XmlSerializerPreCompiler)
 Fantastic tool for debugging mysterious XmlSerializer exceptions
Everything by SysInterals.com! (http://www.sysinternals.com)
 Tools for monitoring disk, files, handles, registry, processes, and more
www.quadrus.com
7
Coding Tools
• RegexDesigner.NET (http://www.sellsbrothers.com/tools/#regexd)
 Runs regular expressions using System.Text.RegularExpressions
• CodeRush
•
(http://www.devexpress.com/?section=/Downloads/NET/CodeRush)
 Code generator and visualization tool
Regions Add-in (http://www.codeproject.com/dotnet/RegionsAddIn.asp)
 Moves code into and between regions
• pinvoke.net Add-in
(http://www.gotdotnet.com/Community/UserSamples/Details.aspx?Sample
Guid=75122f62-5459-4364-b9ba-7b5e6a4754fe)
 Adds P/Invoke signatures
• VSCmdShell Add-in
(http://www.gotdotnet.com/Community/Workspaces/Workspace.aspx?id=3
751cc72-1345-4872-96a1-99c9d64e7c2d)
 VS.NET Command prompt hosted inside VS.NET
www.quadrus.com
8
Staying in the Loop
<plug type=“shameless”>
• Blogs
 http://www.jameskovacs.com/blog/
 http://www.bristowe.com/blog/
• Blog Readers
 SharpReader (http://www.sharpreader.net/)
 NewsGator (http://www.newsgator.com/)
</plug>
www.quadrus.com
9
Questions
www.quadrus.com
10