2. STYLECOP & FXCOP
• PERFORMS STATIC TESTING: ANALYSIS BEFORE RUNNING THE
PROGRAM
• BASED ON THE “FRAMEWORK DESIGN GUIDELINES”
• https://tiny.cc/design-guidelines
• BOOK RELEASED IN 2008
• BY KRZYSZTOF CWALINA AND BRAD ABRAMS
• ORIGINALLY DEVELOP BY MICROSOFT
4. WHAT IS FXCOP?
• A STATIC CODE ANALYSIS TOOL TO LOOK FOR ISSUES IN THE
CODE
• PREVIOUSLY A VISUAL STUDIO 2017 EXTENSION
• NOW A ROSLYN ANALYZER
• EASY INTEGRATION WITH THE BUILD PROCESS
• AVAILABLE TO .NET FRAMEWORK AND .NET CORE PROJECTS
5. WHY TO USE FXCOP?
• INSPECT YOUR CODE BEYOND THE COMPILER SYNTAX
• FIND POSSIBLE ISSUES IN THE CODE
• (EVEN IF COMPILES FINE)
6. HOW TO USE?
• INSTALL THE NUGET PACKAGE
• RECOMMENDED WAY
• Install-Package Microsoft.CodeAnalysis.FxCopAnalyzers
• (OR INSTALL THE VISUAL STUDIO EXTENSION)
• BUILD YOUR PROJECT
7. HOW TO USE? (CONT’D)
• INSPECT THE WARNING MESSAGES:
8. HOW TO DISABLE WARNINGS
• USE THE SUPPRESSMESSAGE ATTRIBUTE
9. HOW TO DISABLE WARNINGS (CONT’D)
• OR USE THE #PRAGMA DIRECTIVE
11. FXCOP DEMO
• USES FXCOP
• COVERED WITH UNIT TESTS
• HAS 100% COVERAGE
• DOES NOT THROWS WARNING BY DEFAULT
• SET THE DISABLE_FIXES CONDITIONAL TO ENABLE WARNINGS
• FXCOP WILL THROW FOUR WARNINGS
18. WHAT IS STYLECOP?
• STATIC CODE ANALYSIS TOOL TO CHECK YOU CODE AGAINST
CODE CONVENTIONS
• ROSLYN ANALYZER
19. WHY TO USE STYLECOP?
• INCREASE CODE READABILITY
• ENFORCE CODE CONVENTIONS
20. HOW TO USE?
• INSTALL THE NUGET PACKAGE
• RECOMMENDED WAY: ROSLYN ANAYLZER
• Install-Package StyleCop.Analyzers
• ADD THE stylecop.json
• BUILD YOUR PROJECT
• INSPECT THE WARNING MESSAGES
22. STYLECOP DEMO
• USES STYLECOP
• COVERED BY UNIT TESTS
• HAS 100% COVERAGE
• DOES NOT THROWS WARNING BY DEFAULT
• SET THE DISABLE_FIXES CONDITIONAL TO ENABLE WARNINGS
• STYLECOP WILL THROW THREE WARNINGS