OVERVIEW Code Analyzer tool enables programmers and QA managers to
check C# source for compliance with coding standards and best practices.
Code analyzer enables to define your own "policy", which consists of set of
rules that define how the code should look like. Rules may relate to
different aspects of the code like naming of elements, organization of the
code, commenting of the code, using of namespaces and more. Rules are
organized in navigable hierarchy and your can easily choose, which
rules you want to use. And what is the best rules are totally extensible.
With Code Analyzer Rules SDK you can easily develop your own rules of any
kind. Rules can be written in any .NET language and compiled to assembly,
which can be included into Code Analyzer policy.
Once you have policy defined you can use Code Analyzer to analyze code
(naturally organized into solution and projects) and create reports, which
contain all violations of policy rules described in detail and related to
source code position. Reports created by Code Analyzer are again very
flexible, you can create your own report or modify existing.
MAIN CODE ANALYZER FEATURES
- Easy and intuitive interface in style of modern IDEs (VS.NET)
- Source code files are organized in solution and projects, which can be
saved
- For analysis code is parsed into CodeDom syntax tree
- Code analysis (checks) are driven by general rules, which works with
CodeDom structures. There are several basic rule types, depending on which
code elements they work with:
- Assembly Rule
- Compilation Unit Rule
- Namespace Rule
- Type Rule
- Member Rule
- Parameter Rule
- Rules are organized into categories and categories are then organized into common hierarchy (called
Policy), which enables easy navigation and selection of rules. Within
policy rules (or whole rules categories) can be activated or deactivated. Code
Analyzer present policy
as three state tree view, which enables maximum efficiency in policy
navigation.
- Rules are flexible and extensible, using Rules SDK anybody can write
his own rules. Any .NET language can be used for rules creation. New rules
should be compiled into assembly, which than can be easily added to Code
Analyzer policy.
- Out of box code analyzer contains a set of sample rules for code
elements naming, document comments and more.
- Results of code analysis are displayed in reports. Report contains
details about all violations of policy rules and their position in source
code.
- Code Analyzer reports are flexible and extensible, you can create your
own reports or modify existing.
- Our of of box Code Analyzer contains Grid Report, HTML Report and XML
Report. Grid report contains detail with source code view, where
problematic code element is highlighted.
For screenshots of Code Analyzer see this
page.
COMPARISON WITH SIMILAR TOOL
Similar tool to Code Analyzer is Microsoft FxCop. FxCop works with
compiled assemblies and uses metadata to get information about the code. It
also has extensive set of rules, which are based on MS Coding practices for
.NET.
FxCop advantages (comparing to Code Analyzer):
- Extensive set of rules available out of box. Code Analyzer provides
just limited set of sample rules.
- Since it works with assembly metadata works with code created in any
.NET language. Code Analyzer works now just with C# sources.
Code Analyzer advantages (comparing to FxCop):
- FxCop is limited to assembly metadata, Code Analyzer works with source
code and provides more functionality like comments, position in source
code and more.
- FxCop has flat rules structure, which makes orientation in policy more
difficult for larger policies. Code analyzer has hierarchical structure,
based on logical rules categories.
- FxCop provides only one type of report, Code Analyzer is flexible
and provides more report types and users can create their own report types.
|