Saturday 31 October 2009

Ultimate .NET development tools

image I've been wanting to make a list for my own reference of all the best-of-breed tools that I prefer to use when doing .NET development.  I specifically decided to not include any third party control/report libraries.  I focus instead on the tools that assist me in crafting high-quality code quickly and effectively.

Categories

  • IDE = Develop/generate/refactor code within the VS IDE or separate IDE
  • SCM = Software Configuration Management (Source Control etc.)
  • TDD = Test Driven Development
  • DBMS = Database Management Systems
  • CI = Continuous Integration
  • FR = Frameworks (Persistence, AOP, Inversion of Control, Logging etc.)
  • UT = Utility Tools
  • CA = Code Analysis (Static + Dynamic)
  • TC = Team Collaboration (Bug tracking, Project management etc.)
  • MD = Modelling
  • QA = Testing Tools
  • DP = Deployment (Installations etc.)

Tools

* = free/open source

  1. [IDE] Visual Studio 2008 Team Edition for Software Developers
  2. [IDE] ReSharper for refactoring and to "develop with pleasure"
  3. [IDE] CodeSmith for generating code.  Also consider T4 with Clarius’s Visual T4 Editor.  
  4. [IDE]* GhostDoc for inserting xml code comments
  5. [IDE] Altova Xml Suite for any xml related work.  XmlPad is the best, free alternative I know of.
  6. [DBMS] SqlServer 2008 for DBMS
  7. [DBMS] Visual Studio 2008 Team Edition for Database Professionals for managing databases as code artifacts
  8. [SCM]* Subversion for source control
  9. [SCM]* TortoiseSVN as windows shell extension for Subversion
  10. [SCM] VisualSVN for integration of TortoiseSVN into VS.  Ankh is the best, free alternative I know of.
  11. [SCM]* KDiff3 for merging
  12. [TDD]* NUnit as preferred xUnit testing framework
  13. [TDD] TestDriven.NET as test runner for "zero-friction unit testing"! 
  14. [TDD]* moq as mock framework.
  15. [TDD] NCover for code coverage stats
  16. [CI]* TeamCity as build server
  17. [CI]* MSBuild Extension Pack for additional MSBuild tasks.  Also see the MSBuild.Community.Tasks
  18. [FR]* log4net as logging framework.  Also see Log4View for an excellent UI for the log files.
  19. [FR]* PostSharp as Aspect Oriented Programming framework
  20. [FR]* Ninject as IoC container
  21. [FR]* NHibernate as Object Relational Mapper.  MindScape LightSpeed also seems to be maturing very nicely.
  22. [UT]* Reflector to drill down to the guts of any code library (also check-out the nice plug-ins)
  23. [UT] Silverlight Spy to dissect any Silverlight application.
  24. [UT] RegexBuddy for managing those difficult regular expressions.  Regulator is the best, free alternative I know of. 
  25. [UT]* SnippetCompiler to quickly test snippets of .NET code.
  26. [UT]* LINQPad as a easy way to query SQL databases using LINQ.
  27. [UT]* Fiddler to debug all your HTTP traffic in IE.   Also see the neXpert plugin for monitoring performance problems.
  28. [UT]* Web Development Helper to assist with testing ASP.NET applications running in IE.  Also see the IE Developer Toolbar for additional IE web development tools.
  29. [UT]* Firebug to assist with testing web applications running in Firefox. Also see YSlow add-on for performance testing and Web Developer add-on for additional Firefox web development tools.
  30. [CA]* FxCop to enforce .NET coding guidelines
  31. [CA] NDepend to get all the static code metrics I'd ever want
  32. [CA] ANTS Profiler for performance and memory profiling
  33. [MD] Enterprise Architect to do UML Modelling and Model Driven Design if required. Alternatively use Visio with these simple templates
  34. [MD]* FreeMind as mind mapping tool
  35. [TC]* ScrewTurn Wiki for team collaboration
  36. [QA]* Eviware soapUI for testing of SOA web services
  37. [QA]* WebAii for automated regression testing of Web 2.0 apps
  38. [DP]* Windows Installer XML (WiX) for creating Windows Installers

0 comments:

Post a Comment