This presentation has the overall theme of Maintainability - how can we make our code easier to maintain - with a particular focus on tools and processes we can adopt to further this goal.
The presentation begins with four overarching concepts that provide guidance for maintainable systems.
-
Perspicuous - maintainable systems are clear, concise and accurate.
-
Discoverable - maintainable systems are easy to navigate.
-
Principled - maintainable systems are build according to specific known principles.
-
Safe - maintainable systems are safe to explore and modify.
In addition to these guidelines, the presentation offers eight tips you can apply to your systems.
-
Being Perspicuous - Name things well; provide commentary.
-
Being Discoverable - A place for everything and everything in its place; practice cartography.
-
Being Principled - Always do things well; write opinionated code.
-
Being Safe - Avoid temporal couplingl keep things consistent.
Links
Here’s the linkfest of tools and other sites mentioned in the talk …
Definr.com - an online dictionary with crosslinks for synonyms and other related words.
FxCop - static analysis of compiled assemblies reporting on potential areas for improvement.
Gendarme - Open source equivalent to FxCop, from the Mono project.
Visual Studio Class Diagrams - draw class diagrams of your code that automatically update as you work.
Snippets - capture code structures in a reusable form.
StyleCop - static analysis of C# source code encouraging compliance with Microsofts own guidelines.
(Also see the StyleCop Blog)
NAnt - .NET project automation.
(See also NAntContrib)
NUnit - the original unit test framework for .NET.
TestDriven.Net - friction free unit testing for Visual Studio.
Sandcastle - Microsoft’s own tool for building the MSDN help, now released for your own use.
(See also Sandcastle Help File Builder on CodePlex)
TeamCity - Simple, easy to use Continuous Integration from Jetbrains. Free for up to 20 build configurations, even for commercial use.
ReSharper - Turbo charge your Visual Studio experience. Personal licenses can follow you from engagement to engagement!
Presentation
Audience | Date |
---|---|
Wellington .NET User Group | May 2009 |