CodeIt.Right Tutorials and Resources
Getting Started
Getting the most from CodeIt.Right
eBooks and Webcasts
- eBook - Automated Code Review with CodeIt.Right
- eBook - Coding Standards in the Real World
- eBook - Effective Code Analysis on Legacy Code
- Webcast Recording - Implementing Microsoft Design Guidelines with CodeIt.Right
- Webcast Recording - Identify and Correct Common Code Smells
- Webcast Recording - Asynchronous Programming Demystified
- Webcast Recording - Coding Standards in the Real World
Custom Rules & SDK
- Tutorial: Creating Custom Rules
- Tutorial: Extending Existing Rules
- Downloads: Custom Rule Samples
- CodeIt.Right SDK Documentation
- Built-in API helper functions
CodeIt.Right Rules Explained Series
- CodeIt.Right Rules Explained, Part 1
- Abstract types should not have public constructors (Design)
- Do not catch generic exception types (Exception Handing)
- Avoid language specific type names in parameters (Naming)
- CodeIt.Right Rules Explained, Part 2
- Mark assemblies CLSCompliant (Design)
- Specify IFormatProvider (Globalization)
- Nested types should not be visible (Design)
- CodeIt.Right Rules Explained, Part 3
- Use Constants Where Appropriate (Performance)
- Parameter Names Should Match Base Declaration (Naming)
- Do Not Declare Externally Visible Instance Fields (Design)
- CodeIt.Right Rules Explained, Part 4
- Type that contains only static members should be sealed (Design)
- Async methods should have async suffix (Async)
- Always define a global error handler (AstNet; Security)
- CodeIt.Right Rules Explained, Part 5
- Mark ISerializable Types with "Serializable" Attribute (Usability)
- Do Not Handle Non-CLS-Compliant Exceptions (Exception Handling)
- Async Methods Should Return Task or Task<T> (Async)
- CodeIt.Right Rules Explained, Part 6
- Do Not Raise Reserved Exception Types (ExceptionHandling;Usage)
- Properties Should Not Return Arrays (Performance)
- Specify CultureInfo (Globalization)
- CodeIt.Right Rules Explained, Part 7
- Disable anonymous access in web.config (AspNet;Security)
- Do not include multiple statements on a single line (CodingStyle)
- Abstract class should have at least one derived class (Design)
- CodeIt.Right Rules Explained, Part 8
- Avoid single line if statements (CodingStyle)
- Enum underlying type should be System.Int32 or one of the CLS-compliant integral types (Design)
- Do not re-throw exceptions explicitly (ExceptionHandling;Usage)
- CodeIt.Right Rules Explained, Part 9
- Avoid Unsealed Attributes (Performance)
- Avoid Excessive Complexity (Maintainability)
- Enforce Warning Level 4 (General)
- CodeIt.Right Rules Explained, Part 10
- Assemblies should have valid strong names (Design)
- Enable treat compiler warnings as error (General)
- Remove unused locals (Performance)
- CodeIt.Right Rules Explained, Part 11
- Do not declare protected members in sealed types (Design)
- Avoid long type arguments for VB6 clients (Interoperability)
- Externally visible types and members should have XML comments (General)
- CodeIt.Right Rules Explained, Part 12
- Don't Hide Base Class Methods (Design)
- Avoid Setting the AutoPostBack Property to True (AspNet;Security)
- Enforce Option Explicit (ExceptionHandling;Usage)
- CodeIt.Right Rules Explained, Part 13
Rules
- XML Comment template: IntelliComment or XML Comment Stub?
- CodeIt.Right SuppressMessage Attribute Primer
- How to modify template for T4 based rules
Team Features
Continuous Integration
- CodeItRight.Cmd.exe Command Line Options for Continuous Integration and automated builds
- Check-In Policy Integration - check only clean code back into source control
- TeamCity Integration - How to integrate CodeIt.Right with TeamCity
- CruiseControl.NET : CodeIt.Right Analysis Task - Integration with CruiseControl.NET
User Profiles
Support/Troubleshooting
- How to submit CodeIt.Right Log file to SubMain support
- How to submit Visual Studio crash log to SubMain support
Other
- CodeIt.Right Code File Header Template For StyleCop Rules by Paulo Morgado