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