Here is a cool internal tool used by Microsoft that is now seeing daylight
.
"We are very excited to announce the release of a new developer tool
from Microsoft, Source Analysis for C#. This tool is known internally
within Microsoft as StyleCop, and has been used for many years now to
help teams enforce a common set of best practices for layout,
readability, maintainability, and documentation of C# source code.
StyleCop is similar in many ways to Microsoft Code Analysis
(specifically FxCop), but there are some important distinctions. FxCop
performs its analysis on compiled binaries, while StyleCop analyzes the
source code directly. For this reason, FxCop focuses more on the design
of the code, while StyleCop focuses on layout, readability and
documentation. Most of that information is stripped away during the
compilation process, and thus cannot be analyzed by FxCop.
The ultimate goal of StyleCop is to allow you to produce elegant,
consistent code that your team members and others who view your code
will find highly readable. In order to accomplish this, StyleCop does
not allow its rules to be very configurable. StyleCop takes a
one-size-fits-all approach to code style, layout, and readability
rules. It is highly likely that you will not agree with all of the
rules and may even find some of the rules annoying at first! However,
the majority of teams using this tool within Microsoft have found that
after a short adjustment period, they came to appreciate the rules
enforced by StyleCop, and even began to find it difficult to read code
not written in this style.
StyleCop comes with a set of default rules analyzers covering
approximately 200 best practice rules. These rules are fully compatible
with the default layout settings in Visual Studio 2005 and Visual
Studio 2008.
Specifically, these rules cover the following, in no particular order:
- Layout of elements, statements, expressions, and query clauses
- Placement of curly brackets, parenthesis, square brackets, etc
- Spacing around keywords and operator symbols
- Line spacing
- Placement of method parameters within method declarations or method calls
- Standard ordering of elements within a class
- Formatting of documentation within element headers and file headers
- Naming of elements, fields and variables
- Use of the built-in types
- Use of access modifiers
- Allowed contents of files
- Debugging text
After installation, StyleCop can be run from within the Visual
Studio IDE, and can also be integrated into MSBuild-based command line
builds" (Microsoft StyleCop).
Download ( Microsoft StyleCop )