Dependency Graph

Online documentation:

Dependency Matrix

Online documentation:

Visualizing Code Metrics through Treemaping

With the Online documentation, understand how Treemaping can help you see patterns in your code base, that would be hard to spot with other ways.

Abstractness versus Instability Diagram

The Abstractness versus Instability Diagram helps to detect which assemblies are potentially painful to maintain (i.e concrete and stable) and which assemblies are potentially useless (i.e abstract and instable).

Online documentation:

For beginners: Where to start

Code queries and rules results are truncated to list a maximum of 100 code elements in this report

Does this report gets too large?

Quick Tips

Main
Main \ Rules
Main \ Quality Gates
Main \ Quality Gates \ Quality Gates
Main \ Rules \ Code Smells
Main \ Rules \ Code Smells Regression
Main \ Rules \ Object Oriented Design
Main \ Rules \ Design
Main \ Rules \ Architecture
Main \ Rules \ API Breaking Changes
Main \ Rules \ Code Coverage
Main \ Rules \ Dead Code
Main \ Rules \ Visibility
Main \ Rules \ Immutability
Main \ Rules \ Naming Conventions
Main \ Rules \ Source Files Organization
Main \ Rules \ .NET Framework Usage
Main \ Rules \ .NET Framework Usage \ System
Main \ Rules \ .NET Framework Usage \ System.Collections
Main \ Group of Queries \ Hot Spots
Main \ Group of Queries \ Object Oriented Design
Main \ Group of Queries \ API Breaking Changes
Main \ Group of Queries \ Code Coverage
Main \ Group of Queries \ Dead Code
Main \ Group of Queries \ Code Diff Summary
Main \ Metrics \ Application Statistics
Main \ Metrics \ Assemblies Metrics
Main \ Metrics \ Namespaces Metrics
Main \ Metrics \ Types Metrics
Main \ Assemblies Dependencies
Main \ Namespaces Dependencies
Main \ Types Dependencies
Main \ Build Order
Main \ Analysis Log
Main \ Abstractness vs. Instability
Main \ Trend Charts
ndepend report summary application nameeShopOnWeb v2019 (v1.0.0.0)report build date04-28-2020 14:18:31analysis duration00:12ndepend version 2020.1.0   Professional Developer/Build-Machine Editionbaseline for comparisonCompare with project {eShopOnWeb v2018} most recent analysis result (analysis result obtained on 2019 October - 17 Thursday 11:06)code coverage data Loaded! Code Coverage metrics, Queries and Rules relative to code Coverage, can be used.
Get started.Quick tips.Back to NDepend. The present HTML report is a summary of data gathered by the analysis.
It is recommended to use the NDepend interactive UI capabilities
to make the most of NDepend by mastering all aspects of your code.

Diagrams

.NET Assemblies Dependency Graph
Dependency Graph
View as ?fullscaled
.NET Assemblies Dependency Matrix
Dependency Matrix
View as ?fullscaled
Treemap View
Treemap Metric View
View as ?fullscaled
Abstractness versus Instability
Abstractness vs. Instability

Application Metrics

Note: Further Application Statistics are available.
# Lines of Code
1 607      -462
476   (NotMyCode)      +45
Estimated Dev Effort   50d      -15.61d
# Types
96      -37
3   Assemblies      -1
34   Namespaces      -8
271   Methods      -96
58   Fields      -51
83   Source Files      -21
919   Third-Party Elements      -3
Comment
4.97%      from 3.99%
84   Lines of Comment      -2
Debt
23.25%      from 19.61%
Rating   D   1d 4h effort to reach  C
Debt   11d 4h      -(1d 1h)
Annual Interest   8d 7h      +4d 5h
Breaking Point   15m      -21m
Coverage
32.67%      from 15.95%
   
525   Lines of Code Covered      +195
1 082   Lines of Code Not Covered      -657
0   Lines of Code Uncoverable      no diff
Method Complexity
15   Max      no diff
1.51   Average      +0.083
Quality Gates
Fail7
Warn1+1
Pass3-1
Rules
Critical6
Violated35+3-2
Ok111
Issues
All479+220-413
Blocker0
Critical0
High136+124-9
Medium279+69-390
Low64+27-14
Suppressed0

Quality Gates summary

317
graphHelp Some Quality Gates fail. The build
can be stopped upon quality gate
failure. Online documentation.
graphHelp Quality Gates that measure diff cannot
be run on the baseline. Hence they
have blank trend and baseline value.
NameTrendBaseline ValueValueGroup
warningCritical   Percentage Coverage
okwarningCritical15.95 %warningCritical32.67 %Project Rules \ Quality Gates
warningCritical   Percentage Coverage on New Code
warningCritical47.31 %Project Rules \ Quality Gates
warningCritical   Percentage Coverage on Refactored Code
warningCritical44.65 %Project Rules \ Quality Gates
warning   Blocker Issues
okwarning0 issueswarning0 issuesProject Rules \ Quality Gates
warning   Critical Issues
okwarning0 issueswarning0 issuesProject Rules \ Quality Gates
warningCritical   New Blocker / Critical / High Issues
warningCritical124 issuesProject Rules \ Quality Gates
warningCritical   Critical Rules Violated
warningwarningCritical2 ruleswarningCritical6 rulesProject Rules \ Quality Gates
warning   Percentage Debt
warningwarning19.61 %warning23.25 %Project Rules \ Quality Gates
warning   New Debt since Baseline
warning-1.24 man-daysProject Rules \ Quality Gates
warningCritical   Debt Rating per Namespace
okwarningCritical13 namespaceswarningCritical13 namespacesProject Rules \ Quality Gates
warningCritical   New Annual Interest since Baseline
warningCritical4.68 man-daysProject Rules \ Quality Gates

Rules summary

111356
  • Number of Rules or Queries with Error (syntax error, exception thrown, time-out): 0
  • Number of Rules violated: 41
graphHelp Rules can be checked live at
development-time, from within Visual
Studio. Online documentation.
graphHelp Rules that rely on diff cannot be
run on the baseline. Hence they
have blank # Issues Fixed or Added.
Name# IssuesAddedFixedElementsGroup
warning   Avoid types with too many methods
100 typeProject Rules \ Code Smells
warning   From now, all types added should be 100% covered by tests
15 typesProject Rules \ Code Smells Regression
warning   From now, all methods added should respect basic quality principles
2 methodsProject Rules \ Code Smells Regression
warning   Avoid transforming an immutable type into a mutable one
4 typesProject Rules \ Code Smells Regression
warning   A stateless class or structure might be turned into a static type
112 typeProject Rules \ Object Oriented Design
warning   Non-static classes should be instantiated or turned to static
210 typesProject Rules \ Object Oriented Design
warning   Methods should be declared static if possible
1042 methodsProject Rules \ Object Oriented Design
warning   Constructor should not call a virtual method
210 methodsProject Rules \ Object Oriented Design
warning   Avoid empty interfaces
100 typeProject Rules \ Object Oriented Design
warning   Types with disposable instance fields must be disposable
3312 typesProject Rules \ Design
warning   Avoid namespaces with few types
1353 namespacesProject Rules \ Design
warning   Nested types should not be visible
1112 typeProject Rules \ Design
warning   Don't use obsolete types, methods or fields
330 methodsProject Rules \ Design
warningCritical   Avoid namespaces mutually dependent
210 typesProject Rules \ Architecture
warning   Avoid namespaces dependency cycles
210 namespacesProject Rules \ Architecture
warning   Assemblies with poor cohesion (RelationalCohesion)
101 assemblyProject Rules \ Architecture
warningCritical   API Breaking Changes: Types
9 typesProject Rules \ API Breaking Changes
warningCritical   API Breaking Changes: Methods
15 methodsProject Rules \ API Breaking Changes
warningCritical   API Breaking Changes: Fields
1 fieldProject Rules \ API Breaking Changes
warningCritical   API Breaking Changes: Interfaces and Abstract Classes
3 typesProject Rules \ API Breaking Changes
warning   Code should be tested
23850350 methodsProject Rules \ Code Coverage
warning   New Methods should be tested
40 methodsProject Rules \ Code Coverage
warning   Methods refactored should be tested
4 methodsProject Rules \ Code Coverage
warning   Assemblies Namespaces and Types should be tested
2177 code elements parentProject Rules \ Code Coverage
warning   Types almost 100% tested should be 100% tested
210 typesProject Rules \ Code Coverage
warning   Namespaces almost 100% tested should be 100% tested
110 namespaceProject Rules \ Code Coverage
warning   Types 100% covered should be tagged with FullCoveredAttribute
27141 typesProject Rules \ Code Coverage
warning   Methods should have a low C.R.A.P score
413 methodsProject Rules \ Code Coverage
warning   Potentially Dead Methods
400 methodsProject Rules \ Dead Code
warning   Avoid publicly visible constant fields
323 fieldsProject Rules \ Visibility
warning   Fields should be marked as ReadOnly when possible
100 fieldProject Rules \ Immutability
warning   Do not declare read only mutable reference types
100 fieldProject Rules \ Immutability
warning   Static fields naming convention
448 fieldsProject Rules \ Naming Conventions
warningCritical   Avoid having different types with same name
101 typeProject Rules \ Naming Conventions
warning   Avoid prefixing type name with parent namespace name
431 typesProject Rules \ Naming Conventions
warning   Avoid naming types and namespaces with the same identifier
213 typesProject Rules \ Naming Conventions
warning   Namespace name should correspond to file location
402 typesProject Rules \ Source Files Organization
warning   Types with source files stored in the same directory, should be declared in the same namespace
200 namespacesProject Rules \ Source Files Organization
warning   Types declared in the same namespace, should have their source files stored in the same directory
100 namespaceProject Rules \ Source Files Organization
warning   Do not raise too general exception types
21210 methodsProject Rules \ .NET Framework Usage \ System
warning   Collection properties should be read only
310 methodsProject Rules \ .NET Framework Usage \ System.Collections

Application Statistics

Stat # Occurences Avg StdDev Max
Properties on interfaces 12 interfaces 0.672.218 properties on Microsoft.eShopWeb.ApplicationCore.Interfaces.ISpecification<T>
Methods on interfaces 12 interfaces 2.582.538 methods on Microsoft.eShopWeb.ApplicationCore.Interfaces.ISpecification<T>
Arguments on methods on interfaces 31 methods 1.061.114 arguments on Microsoft.eShopWeb.ApplicationCore.Interfaces.IBasketService.AddItemToBasket(Int32,Int32,Decimal,Int32)
Public properties on classes 109 Classes 2.132.5515 public properties on <>f__AnonymousType7<<Id>j__TPar,<AccessFailedCount>j__TPar,<ConcurrencyStamp>j__TPar,<Email>j__TPar,<EmailConfirmed>j__TPar,<LockoutEnabled>j__TPar,<LockoutEnd>j__TPar,<NormalizedEmail>j__TPar,<NormalizedUserName>j__TPar,<PasswordHash>j__TPar,<PhoneNumber>j__TPar,<PhoneNumberConfirmed>j__TPar,<SecurityStamp>j__TPar,<TwoFactorEnabled>j__TPar,<UserName>j__TPar>
Public methods on classes 109 classes 5.594.2622 public methods on Microsoft.eShopWeb.Web.Controllers.ManageController
Arguments on public methods on classes 609 methods 0.681.2115 arguments on <>f__AnonymousType7<<Id>j__TPar,<AccessFailedCount>j__TPar,<ConcurrencyStamp>j__TPar,<Email>j__TPar,<EmailConfirmed>j__TPar,<LockoutEnabled>j__TPar,<LockoutEnd>j__TPar,<NormalizedEmail>j__TPar,<NormalizedUserName>j__TPar,<PasswordHash>j__TPar,<PhoneNumber>j__TPar,<PhoneNumberConfirmed>j__TPar,<SecurityStamp>j__TPar,<TwoFactorEnabled>j__TPar,<UserName>j__TPar>..ctor(<Id>j__TPar,<AccessFailedCount>j__TPar,<ConcurrencyStamp>j__TPar,<Email>j__TPar,<EmailConfirmed>j__TPar,<LockoutEnabled>j__TPar,<LockoutEnd>j__TPar,<NormalizedEmail>j__TPar,<NormalizedUserName>j__TPar,<PasswordHash>j__TPar,<PhoneNumber>j__TPar,<PhoneNumberConfirmed>j__TPar,<SecurityStamp>j__TPar,<TwoFactorEnabled>j__TPar,<UserName>j__TPar)
IL instructions in non-abstract methods 689 methods 41.88108.541332 IL instructions in Microsoft.eShopWeb.Infrastructure.Identity.Migrations.InitialIdentityModel.Up(MigrationBuilder)
Cyclomatic complexity on non abstract Methods 689 Methods 3.135.41 CC = 31 for <>f__AnonymousType7<<Id>j__TPar,<AccessFailedCount>j__TPar,<ConcurrencyStamp>j__TPar,<Email>j__TPar,<EmailConfirmed>j__TPar,<LockoutEnabled>j__TPar,<LockoutEnd>j__TPar,<NormalizedEmail>j__TPar,<NormalizedUserName>j__TPar,<PasswordHash>j__TPar,<PhoneNumber>j__TPar,<PhoneNumberConfirmed>j__TPar,<SecurityStamp>j__TPar,<TwoFactorEnabled>j__TPar,<UserName>j__TPar>.ToString()

Assemblies Metrics

If you wish to define thresholds on assemblies' Code Metrics, consider writing some Rules.
Clicking column header arrows sorts values.
Clicking column header title text redirect to the online Code Metric definition.
Assemblies # lines of code# IL instruction # Types # Abstract Types # lines of comment% Comment% CoverageAfferent CouplingEfferent CouplingRelational CohesionInstabilityAbstractnessDistance
ApplicationCore v1.0.0.022824173511218.4369.317151.910.470.310.15
Infrastructure v1.0.0.057512342330203.3615.488920.790.9200.06
Web v1.0.0.080414099532435.0834.5802661.1710.040.03

If you wish to define thresholds on types' Code Metrics, consider writing some Rule.
Clicking column header arrows sorts values.
Clicking column header title text redirect to the online Code Metric definition.

Types Metrics : Code Quality

Type Name Type Rank# Lines Of Code# IL Instructions# Lines Of Comment% CommentCyclomatic ComplexityIL Cyclomatic Complexity% CoverageAfferent CouplingEfferent Coupling Type Namespace
BaseEntity25.192110023100170Microsoft.eShopWeb.ApplicationCore .Entities
ISpecification<T>9.92-------121Microsoft.eShopWeb.ApplicationCore .Interfaces
Address5.08176500121210070Microsoft.eShopWeb.ApplicationCore .Entities.OrderAggregate
IEmailSender3.79-------40Microsoft.eShopWeb.ApplicationCore .Interfaces
IAsyncRepository<T>2.93-------91Microsoft.eShopWeb.ApplicationCore .Interfaces
CatalogItemOrdered2.8146016.678810043Microsoft.eShopWeb.ApplicationCore .Entities.OrderAggregate
Order2.6626110925.71111396.1567Microsoft.eShopWeb.ApplicationCore .Entities.OrderAggregate
IAggregateRoot2.64-------30Microsoft.eShopWeb.ApplicationCore .Interfaces
IUriComposer2.25-------70Microsoft.eShopWeb.ApplicationCore .Interfaces
Basket2.2211860081010064Microsoft.eShopWeb.ApplicationCore .Entities.BasketAggregate
BasketItem2.17625006710051Microsoft.eShopWeb.ApplicationCore .Entities.BasketAggregate
CatalogType1.96211002310041Microsoft.eShopWeb.ApplicationCore .Entities
CatalogBrand1.96211002310041Microsoft.eShopWeb.ApplicationCore .Entities
OrderItem1.75114318.338810062Microsoft.eShopWeb.ApplicationCore .Entities.OrderAggregate
ApplicationUser1.7404---1-103Microsoft.eShopWeb.Infrastructure .Identity
CatalogSettings1.74211002310020Microsoft.eShopWeb
BasketViewModel1.629540091088.89514Microsoft.eShopWeb.Web.Pages.Basket
CatalogItem1.46166000161710073Microsoft.eShopWeb.ApplicationCore .Entities
BasketNotFoundException1.3242900442510Microsoft.eShopWeb.ApplicationCore .Exceptions
BaseSpecification<T>1.25251010019198042Microsoft.eShopWeb.ApplicationCore .Specifications
CatalogIndexViewModel1.231246001213100510Microsoft.eShopWeb.Web.ViewModels
CatalogContext0.924865100222295.83535Microsoft.eShopWeb.Infrastructure.Data
IAppLogger<T>0.92-------51Microsoft.eShopWeb.ApplicationCore .Interfaces
CatalogItemViewModel0.69832008910037Microsoft.eShopWeb.Web.ViewModels
PaymentMethod0.67625114.2967011Microsoft.eShopWeb.ApplicationCore .Entities.BuyerAggregate
ICatalogViewModelService0.66-------56Microsoft.eShopWeb.Web.Services
BasketItemViewModel0.65145300141578.5737Microsoft.eShopWeb.Web.Pages.Basket
PaginationInfoViewModel0.62124600121310026Microsoft.eShopWeb.Web.ViewModels
BasketGuards0.621100225023Ardalis.GuardClauses
<>f__AnonymousType2<<userId>j__TPar, <code>j__TPar>0.60104---12-112
IBasketService0.58-------50Microsoft.eShopWeb.ApplicationCore .Interfaces
OrderItemViewModel0.511246001213027Microsoft.eShopWeb.Web.ViewModels
IBasketViewModelService0.5-------53Microsoft.eShopWeb.Web.Interfaces
IOrderService0.49-------31Microsoft.eShopWeb.ApplicationCore .Interfaces
BasketWithItemsSpecification0.4541100022100213Microsoft.eShopWeb.ApplicationCore .Specifications
CustomerOrdersWithItemsSpecification+<>c0.4107---2-12Microsoft.eShopWeb.ApplicationCore .Specifications
BasketWithItemsSpecification+<>c0.4107---2-12Microsoft.eShopWeb.ApplicationCore .Specifications
IOrderRepository0.41-------32Microsoft.eShopWeb.ApplicationCore .Interfaces
SpecificationEvaluator<T>0.414106526.3271064.2917Microsoft.eShopWeb.Infrastructure.Data
EfRepository<T>0.341476900972100213Microsoft.eShopWeb.Infrastructure.Data
OrderRepository+<>c0.3107---2-12Microsoft.eShopWeb.Infrastructure.Data
BaseApiController0.2904---1-15Microsoft.eShopWeb.Web.Controllers.Api
CatalogViewModelService0.283988312.51258100248Microsoft.eShopWeb.Web.Services
CatalogContext+<>c0.2607---2-12Microsoft.eShopWeb.Infrastructure.Data
<>f__AnonymousType0<<Id>j__TPar,<BuyerId >j__TPar>0.260104---12-11
Startup0.261019522217.89307161.391145Microsoft.eShopWeb.Web
CatalogContextSeed0.261982829.5293363.16114Microsoft.eShopWeb.Infrastructure.Data
<>f__AnonymousType4<<Id>j__TPar, <BasketId>j__TPar,<CatalogItemId>j__TPar ,<Quantity>j__TPar,<UnitPrice>j__TPar>0.260233---21-11
AppIdentityDbContextSeed0.2621100011110014Microsoft.eShopWeb.Infrastructure .Identity
<>f__AnonymousType6<<Id>j__TPar,<OrderId >j__TPar,<UnitPrice>j__TPar,<Units >j__TPar,<ItemOrdered_CatalogItemId >j__TPar,<ItemOrdered_PictureUri>j__TPar ,<ItemOrdered_ProductName>j__TPar>0.260319---27-11
<>f__AnonymousType3<<Id>j__TPar,<BuyerId >j__TPar,<OrderDate>j__TPar, <ShipToAddress_City>j__TPar, <ShipToAddress_Country>j__TPar, <ShipToAddress_State>j__TPar, <ShipToAddress_Street>j__TPar, <ShipToAddress_ZipCode>j__TPar>0.260362---30-11
<>f__AnonymousType1<<Id>j__TPar,<Brand >j__TPar>0.260104---12-11
<>f__AnonymousType5<<Id>j__TPar, <CatalogBrandId>j__TPar,<CatalogTypeId >j__TPar,<Description>j__TPar,<Name >j__TPar,<PictureUri>j__TPar,<Price >j__TPar>0.260319---27-11
<>f__AnonymousType2<<Id>j__TPar,<Type >j__TPar>0.260104---12-11
<>f__AnonymousType10<<UserId>j__TPar, <LoginProvider>j__TPar,<Name>j__TPar>0.250147---15-11
<>f__AnonymousType11<<Id>j__TPar, <ClaimType>j__TPar,<ClaimValue>j__TPar, <UserId>j__TPar>0.250190---18-11
<>f__AnonymousType15<<UserId>j__TPar, <RoleId>j__TPar>0.250104---12-11
<>f__AnonymousType14<<Id>j__TPar, <ClaimType>j__TPar,<ClaimValue>j__TPar, <RoleId>j__TPar>0.250190---18-11
<>f__AnonymousType12<<LoginProvider >j__TPar,<ProviderKey>j__TPar, <ProviderDisplayName>j__TPar,<UserId >j__TPar>0.250190---18-11
<>f__AnonymousType7<<Id>j__TPar, <AccessFailedCount>j__TPar, <ConcurrencyStamp>j__TPar,<Email>j__TPar ,<EmailConfirmed>j__TPar,<LockoutEnabled >j__TPar,<LockoutEnd>j__TPar, <NormalizedEmail>j__TPar, <NormalizedUserName>j__TPar, <PasswordHash>j__TPar,<PhoneNumber >j__TPar,<PhoneNumberConfirmed>j__TPar, <SecurityStamp>j__TPar,<TwoFactorEnabled >j__TPar,<UserName>j__TPar>0.250663---51-11
<>f__AnonymousType8<<Id>j__TPar, <ConcurrencyStamp>j__TPar,<Name>j__TPar, <NormalizedName>j__TPar>0.250190---18-11
<>f__AnonymousType13<<LoginProvider >j__TPar,<ProviderKey>j__TPar>0.250104---12-11
<>f__AnonymousType9<<UserId>j__TPar, <LoginProvider>j__TPar,<Name>j__TPar, <Value>j__TPar>0.250190---18-11
BasketComponentViewModel0.24211002310015Microsoft.eShopWeb.Web.ViewModels
CustomerOrdersWithItemsSpecification0.2235900110112Microsoft.eShopWeb.ApplicationCore .Specifications
OrderViewModel0.2213490013130111Microsoft.eShopWeb.Web.ViewModels
<>f__AnonymousType0<<ReturnUrl>j__TPar, <RememberMe>j__TPar>0.220104---12-112
LoginModel+InputModel0.2262500670110Microsoft.eShopWeb.Web.Areas.Identity .Pages.Account
CatalogFilterSpecification0.221860011100111Microsoft.eShopWeb.ApplicationCore .Specifications
CatalogFilterPaginatedSpecification0.222910011100111Microsoft.eShopWeb.ApplicationCore .Specifications
LoginWith2faViewModel0.262500670110Microsoft.eShopWeb.Web.ViewModels .Account
RegisterViewModel0.262500670111Microsoft.eShopWeb.Web.ViewModels .Account
LoginViewModel0.2625006783.33110Microsoft.eShopWeb.Web.ViewModels .Account
ResetPasswordViewModel0.283200890111Microsoft.eShopWeb.Web.ViewModels .Account
<>f__AnonymousType1<<returnUrl>j__TPar, <RememberMe>j__TPar>0.20104---12-112
ExternalLoginsViewModel0.198320089019Microsoft.eShopWeb.Web.ViewModels.Manage
GenerateRecoveryCodesViewModel0.192110023016Microsoft.eShopWeb.Web.ViewModels.Manage
EnableAuthenticatorViewModel0.1962500670110Microsoft.eShopWeb.Web.ViewModels.Manage
TwoFactorAuthenticationViewModel0.196250067016Microsoft.eShopWeb.Web.ViewModels.Manage
ChangePasswordViewModel0.1983200890110Microsoft.eShopWeb.Web.ViewModels.Manage
EmailSenderExtensions0.191150011017Microsoft.eShopWeb.Web.Services
SetPasswordViewModel0.1962500670110Microsoft.eShopWeb.Web.ViewModels.Manage
RemoveLoginViewModel0.194180045015Microsoft.eShopWeb.Web.ViewModels.Manage
IndexViewModel0.1910390010110110Microsoft.eShopWeb.Web.ViewModels.Manage
UrlHelperExtensions0.192260022017Microsoft.AspNetCore.Mvc
BasketViewModelService0.172870200755100134Microsoft.eShopWeb.Web.Services
CachedCatalogViewModelService0.17177430086364.71128Microsoft.eShopWeb.Web.Services
ApiHealthCheck0.1712233003150130Microsoft.eShopWeb.Web.HealthChecks
HomePageHealthCheck0.1710212003150126Microsoft.eShopWeb.Web.HealthChecks
UriComposer0.17318002210012Microsoft.eShopWeb.ApplicationCore .Services
OrderService0.1717319003240113Microsoft.eShopWeb.ApplicationCore .Services
BasketService0.1744102800128240.91115Microsoft.eShopWeb.ApplicationCore .Services
SlugifyParameterTransformer0.173251252466.6715Microsoft.eShopWeb.Web
EmailSender0.1711015012011Microsoft.eShopWeb.Infrastructure .Services
AppIdentityDbContext0.1721236022100112Microsoft.eShopWeb.Infrastructure .Identity
<>f__AnonymousType4<<key>j__TPar,<value >j__TPar>0.170104---12-112
<>f__AnonymousType3<<status>j__TPar, <errors>j__TPar>0.170104---12-112
LoggerAdapter<T>0.1742500335017Microsoft.eShopWeb.Infrastructure .Logging
OrderRepository0.172680022100119Microsoft.eShopWeb.Infrastructure.Data
Buyer0.15833111.1155006Microsoft.eShopWeb.ApplicationCore .Entities.BuyerAggregate
Constants0.1500---0-03Microsoft.eShopWeb.Web
OrderController0.1515457008320045Microsoft.eShopWeb.Web.Controllers
IIdentityParser<T>0.15-------01Microsoft.eShopWeb.ApplicationCore .Interfaces
LoginModel0.1531446411.43183941.94046Microsoft.eShopWeb.Web.Areas.Identity .Pages.Account
IdentityHostingStartup0.15120002410009Microsoft.eShopWeb.Web.Areas.Identity
ManageController0.15189464242.07693250078Microsoft.eShopWeb.Web.Controllers
CatalogController0.15513600311100022Microsoft.eShopWeb.Web.Controllers.Api
AccountController0.1577147844.943311518.18063Microsoft.eShopWeb.Web.Controllers
Program0.15136900367.69029Microsoft.eShopWeb.Web
ErrorModel0.154350058009Microsoft.eShopWeb.Web.Pages
IndexModel0.15613700513100019Microsoft.eShopWeb.Web.Pages
PrivacyModel0.15060-12002Microsoft.eShopWeb.Web.Pages
Initial0.1511718230030580029Microsoft.eShopWeb.Infrastructure.Data .Migrations
AppIdentityDbContextModelSnapshot0.15756140012240011Microsoft.eShopWeb.Infrastructure .Identity.Migrations
InitialIdentityModel0.1511519830028540030Microsoft.eShopWeb.Infrastructure .Identity.Migrations
IndexModel0.153176100126777.42042Microsoft.eShopWeb.Web.Pages.Basket
ManageNavPages0.151251001213008Microsoft.eShopWeb.Web.Views.Manage
AddExtraConstraints0.158711300016300014Microsoft.eShopWeb.Infrastructure.Data .Migrations
Basket0.15163510083187.5034Microsoft.eShopWeb.Web.Pages.Shared .Components.BasketComponent
CatalogContextModelSnapshot0.15756820014280010Microsoft.eShopWeb.Infrastructure.Data .Migrations
CheckoutModel0.15275190010420042Microsoft.eShopWeb.Web.Pages.Basket


  

Types Metrics : Code Members and Inheritance

Type Name # Instance Methods Nb Static Methods Nb Properties # Fields# Children ClassesDepth Of Inheritance Tree Type Namespace
BaseEntity301190Microsoft.eShopWeb.ApplicationCore .Entities
ISpecification<T>8080--Microsoft.eShopWeb.ApplicationCore .Interfaces
Address1205500Microsoft.eShopWeb.ApplicationCore .Entities.OrderAggregate
IEmailSender1000--Microsoft.eShopWeb.ApplicationCore .Interfaces
IAsyncRepository<T>7000--Microsoft.eShopWeb.ApplicationCore .Interfaces
CatalogItemOrdered803300Microsoft.eShopWeb.ApplicationCore .Entities.OrderAggregate
Order1004401Microsoft.eShopWeb.ApplicationCore .Entities.OrderAggregate
IAggregateRoot0000--Microsoft.eShopWeb.ApplicationCore .Interfaces
IUriComposer1000--Microsoft.eShopWeb.ApplicationCore .Interfaces
Basket502201Microsoft.eShopWeb.ApplicationCore .Entities.BasketAggregate
BasketItem703301Microsoft.eShopWeb.ApplicationCore .Entities.BasketAggregate
CatalogType301101Microsoft.eShopWeb.ApplicationCore .Entities
CatalogBrand301101Microsoft.eShopWeb.ApplicationCore .Entities
OrderItem803301Microsoft.eShopWeb.ApplicationCore .Entities.OrderAggregate
ApplicationUser100003Microsoft.eShopWeb.Infrastructure .Identity
CatalogSettings301100Microsoft.eShopWeb
BasketViewModel803301Microsoft.eShopWeb.Web.Pages.Basket
CatalogItem1708801Microsoft.eShopWeb.ApplicationCore .Entities
BasketNotFoundException400000Microsoft.eShopWeb.ApplicationCore .Exceptions
BaseSpecification<T>1908840Microsoft.eShopWeb.ApplicationCore .Specifications
CatalogIndexViewModel1306601Microsoft.eShopWeb.Web.ViewModels
CatalogContext2206601Microsoft.eShopWeb.Infrastructure.Data
IAppLogger<T>2000--Microsoft.eShopWeb.ApplicationCore .Interfaces
CatalogItemViewModel904401Microsoft.eShopWeb.Web.ViewModels
PaymentMethod703301Microsoft.eShopWeb.ApplicationCore .Entities.BuyerAggregate
ICatalogViewModelService3000--Microsoft.eShopWeb.Web.Services
BasketItemViewModel1507701Microsoft.eShopWeb.Web.Pages.Basket
PaginationInfoViewModel1306601Microsoft.eShopWeb.Web.ViewModels
BasketGuards010000Ardalis.GuardClauses
<>f__AnonymousType2<<userId>j__TPar, <code>j__TPar>602201
IBasketService5000--Microsoft.eShopWeb.ApplicationCore .Interfaces
OrderItemViewModel1306601Microsoft.eShopWeb.Web.ViewModels
IBasketViewModelService1000--Microsoft.eShopWeb.Web.Interfaces
IOrderService1000--Microsoft.eShopWeb.ApplicationCore .Interfaces
BasketWithItemsSpecification200001Microsoft.eShopWeb.ApplicationCore .Specifications
CustomerOrdersWithItemsSpecification+<>c110100Microsoft.eShopWeb.ApplicationCore .Specifications
BasketWithItemsSpecification+<>c110100Microsoft.eShopWeb.ApplicationCore .Specifications
IOrderRepository1000--Microsoft.eShopWeb.ApplicationCore .Interfaces
SpecificationEvaluator<T>110000Microsoft.eShopWeb.Infrastructure.Data
EfRepository<T>900110Microsoft.eShopWeb.Infrastructure.Data
OrderRepository+<>c110100Microsoft.eShopWeb.Infrastructure.Data
BaseApiController100012Microsoft.eShopWeb.Web.Controllers.Api
CatalogViewModelService400501Microsoft.eShopWeb.Web.Services
CatalogContext+<>c110100Microsoft.eShopWeb.Infrastructure.Data
<>f__AnonymousType0<<Id>j__TPar,<BuyerId >j__TPar>602200
Startup821201Microsoft.eShopWeb.Web
CatalogContextSeed140000Microsoft.eShopWeb.Infrastructure.Data
<>f__AnonymousType4<<Id>j__TPar, <BasketId>j__TPar,<CatalogItemId>j__TPar ,<Quantity>j__TPar,<UnitPrice>j__TPar>905500
AppIdentityDbContextSeed110000Microsoft.eShopWeb.Infrastructure .Identity
<>f__AnonymousType6<<Id>j__TPar,<OrderId >j__TPar,<UnitPrice>j__TPar,<Units >j__TPar,<ItemOrdered_CatalogItemId >j__TPar,<ItemOrdered_PictureUri>j__TPar ,<ItemOrdered_ProductName>j__TPar>1107700
<>f__AnonymousType3<<Id>j__TPar,<BuyerId >j__TPar,<OrderDate>j__TPar, <ShipToAddress_City>j__TPar, <ShipToAddress_Country>j__TPar, <ShipToAddress_State>j__TPar, <ShipToAddress_Street>j__TPar, <ShipToAddress_ZipCode>j__TPar>1208800
<>f__AnonymousType1<<Id>j__TPar,<Brand >j__TPar>602200
<>f__AnonymousType5<<Id>j__TPar, <CatalogBrandId>j__TPar,<CatalogTypeId >j__TPar,<Description>j__TPar,<Name >j__TPar,<PictureUri>j__TPar,<Price >j__TPar>1107700
<>f__AnonymousType2<<Id>j__TPar,<Type >j__TPar>602200
<>f__AnonymousType10<<UserId>j__TPar, <LoginProvider>j__TPar,<Name>j__TPar>703300
<>f__AnonymousType11<<Id>j__TPar, <ClaimType>j__TPar,<ClaimValue>j__TPar, <UserId>j__TPar>804400
<>f__AnonymousType15<<UserId>j__TPar, <RoleId>j__TPar>602200
<>f__AnonymousType14<<Id>j__TPar, <ClaimType>j__TPar,<ClaimValue>j__TPar, <RoleId>j__TPar>804400
<>f__AnonymousType12<<LoginProvider >j__TPar,<ProviderKey>j__TPar, <ProviderDisplayName>j__TPar,<UserId >j__TPar>804400
<>f__AnonymousType7<<Id>j__TPar, <AccessFailedCount>j__TPar, <ConcurrencyStamp>j__TPar,<Email>j__TPar ,<EmailConfirmed>j__TPar,<LockoutEnabled >j__TPar,<LockoutEnd>j__TPar, <NormalizedEmail>j__TPar, <NormalizedUserName>j__TPar, <PasswordHash>j__TPar,<PhoneNumber >j__TPar,<PhoneNumberConfirmed>j__TPar, <SecurityStamp>j__TPar,<TwoFactorEnabled >j__TPar,<UserName>j__TPar>190151500
<>f__AnonymousType8<<Id>j__TPar, <ConcurrencyStamp>j__TPar,<Name>j__TPar, <NormalizedName>j__TPar>804400
<>f__AnonymousType13<<LoginProvider >j__TPar,<ProviderKey>j__TPar>602200
<>f__AnonymousType9<<UserId>j__TPar, <LoginProvider>j__TPar,<Name>j__TPar, <Value>j__TPar>804400
BasketComponentViewModel301101Microsoft.eShopWeb.Web.ViewModels
CustomerOrdersWithItemsSpecification100001Microsoft.eShopWeb.ApplicationCore .Specifications
OrderViewModel1306601Microsoft.eShopWeb.Web.ViewModels
<>f__AnonymousType0<<ReturnUrl>j__TPar, <RememberMe>j__TPar>602201
LoginModel+InputModel703301Microsoft.eShopWeb.Web.Areas.Identity .Pages.Account
CatalogFilterSpecification100001Microsoft.eShopWeb.ApplicationCore .Specifications
CatalogFilterPaginatedSpecification100001Microsoft.eShopWeb.ApplicationCore .Specifications
LoginWith2faViewModel703301Microsoft.eShopWeb.Web.ViewModels .Account
RegisterViewModel703301Microsoft.eShopWeb.Web.ViewModels .Account
LoginViewModel703301Microsoft.eShopWeb.Web.ViewModels .Account
ResetPasswordViewModel904401Microsoft.eShopWeb.Web.ViewModels .Account
<>f__AnonymousType1<<returnUrl>j__TPar, <RememberMe>j__TPar>602201
ExternalLoginsViewModel904401Microsoft.eShopWeb.Web.ViewModels.Manage
GenerateRecoveryCodesViewModel301101Microsoft.eShopWeb.Web.ViewModels.Manage
EnableAuthenticatorViewModel703301Microsoft.eShopWeb.Web.ViewModels.Manage
TwoFactorAuthenticationViewModel703301Microsoft.eShopWeb.Web.ViewModels.Manage
ChangePasswordViewModel904401Microsoft.eShopWeb.Web.ViewModels.Manage
EmailSenderExtensions010001Microsoft.eShopWeb.Web.Services
SetPasswordViewModel703301Microsoft.eShopWeb.Web.ViewModels.Manage
RemoveLoginViewModel502201Microsoft.eShopWeb.Web.ViewModels.Manage
IndexViewModel1105501Microsoft.eShopWeb.Web.ViewModels.Manage
UrlHelperExtensions020001Microsoft.AspNetCore.Mvc
BasketViewModelService500301Microsoft.eShopWeb.Web.Services
CachedCatalogViewModelService410601Microsoft.eShopWeb.Web.Services
ApiHealthCheck200201Microsoft.eShopWeb.Web.HealthChecks
HomePageHealthCheck200101Microsoft.eShopWeb.Web.HealthChecks
UriComposer200100Microsoft.eShopWeb.ApplicationCore .Services
OrderService200300Microsoft.eShopWeb.ApplicationCore .Services
BasketService600400Microsoft.eShopWeb.ApplicationCore .Services
SlugifyParameterTransformer200001Microsoft.eShopWeb.Web
EmailSender200000Microsoft.eShopWeb.Infrastructure .Services
AppIdentityDbContext200001Microsoft.eShopWeb.Infrastructure .Identity
<>f__AnonymousType4<<key>j__TPar,<value >j__TPar>602201
<>f__AnonymousType3<<status>j__TPar, <errors>j__TPar>602201
LoggerAdapter<T>300100Microsoft.eShopWeb.Infrastructure .Logging
OrderRepository200001Microsoft.eShopWeb.Infrastructure.Data
Buyer502201Microsoft.eShopWeb.ApplicationCore .Entities.BuyerAggregate
Constants000301Microsoft.eShopWeb.Web
OrderController300102Microsoft.eShopWeb.Web.Controllers
IIdentityParser<T>1000--Microsoft.eShopWeb.ApplicationCore .Interfaces
LoginModel1104601Microsoft.eShopWeb.Web.Areas.Identity .Pages.Account
IdentityHostingStartup200001Microsoft.eShopWeb.Web.Areas.Identity
ManageController2501702Microsoft.eShopWeb.Web.Controllers
CatalogController200103Microsoft.eShopWeb.Web.Controllers.Api
AccountController1300402Microsoft.eShopWeb.Web.Controllers
Program120001Microsoft.eShopWeb.Web
ErrorModel502101Microsoft.eShopWeb.Web.Pages
IndexModel401201Microsoft.eShopWeb.Web.Pages
PrivacyModel200001Microsoft.eShopWeb.Web.Pages
Initial400001Microsoft.eShopWeb.Infrastructure.Data .Migrations
AppIdentityDbContextModelSnapshot200001Microsoft.eShopWeb.Infrastructure .Identity.Migrations
InitialIdentityModel400001Microsoft.eShopWeb.Infrastructure .Identity.Migrations
IndexModel801701Microsoft.eShopWeb.Web.Pages.Basket
ManageNavPages0115001Microsoft.eShopWeb.Web.Views.Manage
AddExtraConstraints400001Microsoft.eShopWeb.Infrastructure.Data .Migrations
Basket400201Microsoft.eShopWeb.Web.Pages.Shared .Components.BasketComponent
CatalogContextModelSnapshot200001Microsoft.eShopWeb.Infrastructure.Data .Migrations
CheckoutModel701701Microsoft.eShopWeb.Web.Pages.Basket


  

Types Metrics : Lack Of Cohesion Of Methods and Association Between Classes

Type Name Lack Of Cohesion Of MethodsLack Of Cohesion Of Methods HSAssociation Between Classes Type Namespace
BaseEntity000Microsoft.eShopWeb.ApplicationCore .Entities
ISpecification<T>--0Microsoft.eShopWeb.ApplicationCore .Interfaces
Address000Microsoft.eShopWeb.ApplicationCore .Entities.OrderAggregate
IEmailSender--0Microsoft.eShopWeb.ApplicationCore .Interfaces
IAsyncRepository<T>--0Microsoft.eShopWeb.ApplicationCore .Interfaces
CatalogItemOrdered003Microsoft.eShopWeb.ApplicationCore .Entities.OrderAggregate
Order006Microsoft.eShopWeb.ApplicationCore .Entities.OrderAggregate
IAggregateRoot--0Microsoft.eShopWeb.ApplicationCore .Interfaces
IUriComposer--0Microsoft.eShopWeb.ApplicationCore .Interfaces
Basket009Microsoft.eShopWeb.ApplicationCore .Entities.BasketAggregate
BasketItem001Microsoft.eShopWeb.ApplicationCore .Entities.BasketAggregate
CatalogType001Microsoft.eShopWeb.ApplicationCore .Entities
CatalogBrand001Microsoft.eShopWeb.ApplicationCore .Entities
OrderItem001Microsoft.eShopWeb.ApplicationCore .Entities.OrderAggregate
ApplicationUser001Microsoft.eShopWeb.Infrastructure .Identity
CatalogSettings000Microsoft.eShopWeb
BasketViewModel009Microsoft.eShopWeb.Web.Pages.Basket
CatalogItem001Microsoft.eShopWeb.ApplicationCore .Entities
BasketNotFoundException000Microsoft.eShopWeb.ApplicationCore .Exceptions
BaseSpecification<T>000Microsoft.eShopWeb.ApplicationCore .Specifications
CatalogIndexViewModel001Microsoft.eShopWeb.Web.ViewModels
CatalogContext0038Microsoft.eShopWeb.Infrastructure.Data
IAppLogger<T>--0Microsoft.eShopWeb.ApplicationCore .Interfaces
CatalogItemViewModel001Microsoft.eShopWeb.Web.ViewModels
PaymentMethod001Microsoft.eShopWeb.ApplicationCore .Entities.BuyerAggregate
ICatalogViewModelService--0Microsoft.eShopWeb.Web.Services
BasketItemViewModel001Microsoft.eShopWeb.Web.Pages.Basket
PaginationInfoViewModel001Microsoft.eShopWeb.Web.ViewModels
BasketGuards001Ardalis.GuardClauses
<>f__AnonymousType2<<userId>j__TPar, <code>j__TPar>006
IBasketService--0Microsoft.eShopWeb.ApplicationCore .Interfaces
OrderItemViewModel001Microsoft.eShopWeb.Web.ViewModels
IBasketViewModelService--0Microsoft.eShopWeb.Web.Interfaces
IOrderService--0Microsoft.eShopWeb.ApplicationCore .Interfaces
BasketWithItemsSpecification0011Microsoft.eShopWeb.ApplicationCore .Specifications
CustomerOrdersWithItemsSpecification+<>c000Microsoft.eShopWeb.ApplicationCore .Specifications
BasketWithItemsSpecification+<>c000Microsoft.eShopWeb.ApplicationCore .Specifications
IOrderRepository--0Microsoft.eShopWeb.ApplicationCore .Interfaces
SpecificationEvaluator<T>0016Microsoft.eShopWeb.Infrastructure.Data
EfRepository<T>0.220.2512Microsoft.eShopWeb.Infrastructure.Data
OrderRepository+<>c000Microsoft.eShopWeb.Infrastructure.Data
BaseApiController001Microsoft.eShopWeb.Web.Controllers.Api
CatalogViewModelService0.40.5369Microsoft.eShopWeb.Web.Services
CatalogContext+<>c000Microsoft.eShopWeb.Infrastructure.Data
<>f__AnonymousType0<<Id>j__TPar,<BuyerId >j__TPar>000
Startup0.780.88115Microsoft.eShopWeb.Web
CatalogContextSeed0019Microsoft.eShopWeb.Infrastructure.Data
<>f__AnonymousType4<<Id>j__TPar, <BasketId>j__TPar,<CatalogItemId>j__TPar ,<Quantity>j__TPar,<UnitPrice>j__TPar>000
AppIdentityDbContextSeed004Microsoft.eShopWeb.Infrastructure .Identity
<>f__AnonymousType6<<Id>j__TPar,<OrderId >j__TPar,<UnitPrice>j__TPar,<Units >j__TPar,<ItemOrdered_CatalogItemId >j__TPar,<ItemOrdered_PictureUri>j__TPar ,<ItemOrdered_ProductName>j__TPar>000
<>f__AnonymousType3<<Id>j__TPar,<BuyerId >j__TPar,<OrderDate>j__TPar, <ShipToAddress_City>j__TPar, <ShipToAddress_Country>j__TPar, <ShipToAddress_State>j__TPar, <ShipToAddress_Street>j__TPar, <ShipToAddress_ZipCode>j__TPar>000
<>f__AnonymousType1<<Id>j__TPar,<Brand >j__TPar>000
<>f__AnonymousType5<<Id>j__TPar, <CatalogBrandId>j__TPar,<CatalogTypeId >j__TPar,<Description>j__TPar,<Name >j__TPar,<PictureUri>j__TPar,<Price >j__TPar>000
<>f__AnonymousType2<<Id>j__TPar,<Type >j__TPar>000
<>f__AnonymousType10<<UserId>j__TPar, <LoginProvider>j__TPar,<Name>j__TPar>000
<>f__AnonymousType11<<Id>j__TPar, <ClaimType>j__TPar,<ClaimValue>j__TPar, <UserId>j__TPar>000
<>f__AnonymousType15<<UserId>j__TPar, <RoleId>j__TPar>000
<>f__AnonymousType14<<Id>j__TPar, <ClaimType>j__TPar,<ClaimValue>j__TPar, <RoleId>j__TPar>000
<>f__AnonymousType12<<LoginProvider >j__TPar,<ProviderKey>j__TPar, <ProviderDisplayName>j__TPar,<UserId >j__TPar>000
<>f__AnonymousType7<<Id>j__TPar, <AccessFailedCount>j__TPar, <ConcurrencyStamp>j__TPar,<Email>j__TPar ,<EmailConfirmed>j__TPar,<LockoutEnabled >j__TPar,<LockoutEnd>j__TPar, <NormalizedEmail>j__TPar, <NormalizedUserName>j__TPar, <PasswordHash>j__TPar,<PhoneNumber >j__TPar,<PhoneNumberConfirmed>j__TPar, <SecurityStamp>j__TPar,<TwoFactorEnabled >j__TPar,<UserName>j__TPar>000
<>f__AnonymousType8<<Id>j__TPar, <ConcurrencyStamp>j__TPar,<Name>j__TPar, <NormalizedName>j__TPar>000
<>f__AnonymousType13<<LoginProvider >j__TPar,<ProviderKey>j__TPar>000
<>f__AnonymousType9<<UserId>j__TPar, <LoginProvider>j__TPar,<Name>j__TPar, <Value>j__TPar>000
BasketComponentViewModel001Microsoft.eShopWeb.Web.ViewModels
CustomerOrdersWithItemsSpecification0011Microsoft.eShopWeb.ApplicationCore .Specifications
OrderViewModel002Microsoft.eShopWeb.Web.ViewModels
<>f__AnonymousType0<<ReturnUrl>j__TPar, <RememberMe>j__TPar>006
LoginModel+InputModel001Microsoft.eShopWeb.Web.Areas.Identity .Pages.Account
CatalogFilterSpecification0013Microsoft.eShopWeb.ApplicationCore .Specifications
CatalogFilterPaginatedSpecification0014Microsoft.eShopWeb.ApplicationCore .Specifications
LoginWith2faViewModel001Microsoft.eShopWeb.Web.ViewModels .Account
RegisterViewModel001Microsoft.eShopWeb.Web.ViewModels .Account
LoginViewModel001Microsoft.eShopWeb.Web.ViewModels .Account
ResetPasswordViewModel001Microsoft.eShopWeb.Web.ViewModels .Account
<>f__AnonymousType1<<returnUrl>j__TPar, <RememberMe>j__TPar>006
ExternalLoginsViewModel001Microsoft.eShopWeb.Web.ViewModels.Manage
GenerateRecoveryCodesViewModel001Microsoft.eShopWeb.Web.ViewModels.Manage
EnableAuthenticatorViewModel001Microsoft.eShopWeb.Web.ViewModels.Manage
TwoFactorAuthenticationViewModel001Microsoft.eShopWeb.Web.ViewModels.Manage
ChangePasswordViewModel001Microsoft.eShopWeb.Web.ViewModels.Manage
EmailSenderExtensions004Microsoft.eShopWeb.Web.Services
SetPasswordViewModel001Microsoft.eShopWeb.Web.ViewModels.Manage
RemoveLoginViewModel001Microsoft.eShopWeb.Web.ViewModels.Manage
IndexViewModel001Microsoft.eShopWeb.Web.ViewModels.Manage
UrlHelperExtensions002Microsoft.AspNetCore.Mvc
BasketViewModelService0.530.6743Microsoft.eShopWeb.Web.Services
CachedCatalogViewModelService0.20.2519Microsoft.eShopWeb.Web.Services
ApiHealthCheck0023Microsoft.eShopWeb.Web.HealthChecks
HomePageHealthCheck0023Microsoft.eShopWeb.Web.HealthChecks
UriComposer001Microsoft.eShopWeb.ApplicationCore .Services
OrderService0015Microsoft.eShopWeb.ApplicationCore .Services
BasketService0.50.619Microsoft.eShopWeb.ApplicationCore .Services
SlugifyParameterTransformer004Microsoft.eShopWeb.Web
EmailSender000Microsoft.eShopWeb.Infrastructure .Services
AppIdentityDbContext002Microsoft.eShopWeb.Infrastructure .Identity
<>f__AnonymousType4<<key>j__TPar,<value >j__TPar>006
<>f__AnonymousType3<<status>j__TPar, <errors>j__TPar>006
LoggerAdapter<T>003Microsoft.eShopWeb.Infrastructure .Logging
OrderRepository0014Microsoft.eShopWeb.Infrastructure.Data
Buyer0.330.53Microsoft.eShopWeb.ApplicationCore .Entities.BuyerAggregate
Constants000Microsoft.eShopWeb.Web
OrderController0048Microsoft.eShopWeb.Web.Controllers
IIdentityParser<T>--0Microsoft.eShopWeb.ApplicationCore .Interfaces
LoginModel0.170.2547Microsoft.eShopWeb.Web.Areas.Identity .Pages.Account
IdentityHostingStartup003Microsoft.eShopWeb.Web.Areas.Identity
ManageController0.690.72126Microsoft.eShopWeb.Web.Controllers
CatalogController0014Microsoft.eShopWeb.Web.Controllers.Api
AccountController0.730.7983Microsoft.eShopWeb.Web.Controllers
Program0017Microsoft.eShopWeb.Web
ErrorModel006Microsoft.eShopWeb.Web.Pages
IndexModel0016Microsoft.eShopWeb.Web.Pages
PrivacyModel001Microsoft.eShopWeb.Web.Pages
Initial0048Microsoft.eShopWeb.Infrastructure.Data .Migrations
AppIdentityDbContextModelSnapshot0018Microsoft.eShopWeb.Infrastructure .Identity.Migrations
InitialIdentityModel0056Microsoft.eShopWeb.Infrastructure .Identity.Migrations
IndexModel0.630.7651Microsoft.eShopWeb.Web.Pages.Basket
ManageNavPages005Microsoft.eShopWeb.Web.Views.Manage
AddExtraConstraints0019Microsoft.eShopWeb.Infrastructure.Data .Migrations
Basket0.50.6730Microsoft.eShopWeb.Web.Pages.Shared .Components.BasketComponent
CatalogContextModelSnapshot0019Microsoft.eShopWeb.Infrastructure.Data .Migrations
CheckoutModel0.60.7549Microsoft.eShopWeb.Web.Pages.Basket

Namespaces Metrics

If you wish to define thresholds on namespaces' Code Metrics, consider writing some Code Rules.
Clicking column header arrows sorts values.
Clicking column header title text redirect to the online Code Metric definition.
Namespaces # lines of code# IL instruction # Types # lines of comment% Comment% CoverageAfferent CouplingEfferent Coupling
ApplicationCore.dll::Ardalis .GuardClauses2111005013
Microsoft.eShopWeb21110010020
Microsoft.eShopWeb.ApplicationCore .Specifications3546170077.1437
Microsoft.eShopWeb.ApplicationCore .Services64136530032.81111
Microsoft.eShopWeb.ApplicationCore .Interfaces0010---124
Microsoft.eShopWeb.ApplicationCore .Exceptions4291002510
Microsoft.eShopWeb.ApplicationCore .Entities2293428.3310080
Microsoft.eShopWeb.ApplicationCore .Entities.OrderAggregate682784172098.5373
Microsoft.eShopWeb.ApplicationCore .Entities.BuyerAggregate14582212.5-03
Microsoft.eShopWeb.ApplicationCore .Entities.BasketAggregate1711120010053
Infrastructure.dll::0351316---21
Microsoft.eShopWeb.Infrastructure .Services1101375-11
Microsoft.eShopWeb.Infrastructure .Logging4251005013
Microsoft.eShopWeb.Infrastructure .Identity41263342.8610055
Microsoft.eShopWeb.Infrastructure .Identity.Migrations1902597200-012
Microsoft.eShopWeb.Infrastructure.Data97243671211.0185.57116
Microsoft.eShopWeb.Infrastructure.Data .Migrations2793635300-012
Web.dll::05205---45
Web.dll::Microsoft.AspNetCore.Mvc226100-15
Microsoft.eShopWeb.Web117104642316.4355.56081
Microsoft.eShopWeb.Web.Interfaces001---43
Microsoft.eShopWeb.Web.HealthChecks22445200-111
Microsoft.eShopWeb.Web.Services852343555.5691.76422
Microsoft.eShopWeb.Web.Views.Manage1251100-04
Microsoft.eShopWeb.Web.ViewModels5923060057.6367
Microsoft.eShopWeb.Web.ViewModels.Manage50207800-19
Microsoft.eShopWeb.Web.ViewModels .Account2610740019.2314
Microsoft.eShopWeb.Web.Pages1017830060011
Microsoft.eShopWeb.Web.Pages.Basket81138740053.09323
Microsoft.eShopWeb.Web.Pages.Shared .Components.BasketComponent1635110087.5020
Microsoft.eShopWeb.Web.Controllers28165773113.774.98037
Microsoft.eShopWeb.Web.Controllers.Api5140200100010
Microsoft.eShopWeb.Web.Areas.Identity12010010005
Microsoft.eShopWeb.Web.Areas.Identity .Pages.Account37471249.7635.14023

Quality Gates
317

ok   Quality Gate Fail:    Percentage Coverage

Scalar Result: 32.67 %

ok   Quality Gate Fail:    Percentage Coverage on New Code

Scalar Result: 47.31 %

ok   Quality Gate Fail:    Percentage Coverage on Refactored Code

Scalar Result: 44.65 %

ok   Quality Gate Pass:    Blocker Issues

No issue matched

ok   Quality Gate Pass:    Critical Issues

No issue matched

ok   Quality Gate Fail:    New Blocker / Critical / High Issues

124 issues matched

124 issuesSeverityDebtAnnual InterestFull Name
High issue on: Microsoft.eShopWeb.Infrastructure.Data .SpecificationEvaluator<T>033High04810min0121h 0minRule violated: From now, all types added should be 100% covered by tests
High issue on: Microsoft.eShopWeb .Infrastructure.Data.Migrations .AddExtraConstraints032High04010min0131h 0minRule violated: From now, all types added should be 100% covered by tests
High issue on: Microsoft.eShopWeb.Web .SlugifyParameterTransformer031High03410min0101h 0minRule violated: From now, all types added should be 100% covered by tests
High issue on: Microsoft.eShopWeb.Web .HealthChecks.ApiHealthCheck036High03310min0111h 0minRule violated: From now, all types added should be 100% covered by tests
High issue on: Microsoft.eShopWeb.Web .HealthChecks.HomePageHealthCheck035High03610min0161h 0minRule violated: From now, all types added should be 100% covered by tests
High issue on: Microsoft.eShopWeb.Web .Services.CachedCatalogViewModelService034High03510min0171h 0minRule violated: From now, all types added should be 100% covered by tests
High issue on: Microsoft.eShopWeb.Web.Pages.ErrorModel027High03010min0141h 0minRule violated: From now, all types added should be 100% covered by tests
High issue on: Microsoft.eShopWeb.Web .Pages.PrivacyModel026High02910min0151h 0minRule violated: From now, all types added should be 100% covered by tests
High issue on: Microsoft.eShopWeb.Web .Pages.Basket.BasketItemViewModel025High03210min0091h 0minRule violated: From now, all types added should be 100% covered by tests
High issue on: Microsoft.eShopWeb.Web .Pages.Basket.BasketViewModel030High03110min0031h 0minRule violated: From now, all types added should be 100% covered by tests
High issue on: Microsoft.eShopWeb.Web .Pages.Basket.CheckoutModel029High03710min0041h 0minRule violated: From now, all types added should be 100% covered by tests
High issue on: Microsoft.eShopWeb.Web .Pages.Basket.IndexModel028High04310min0011h 0minRule violated: From now, all types added should be 100% covered by tests
High issue on: Microsoft.eShopWeb.Web .Pages.Shared.Components.BasketComponent .Basket037High04210min0021h 0minRule violated: From now, all types added should be 100% covered by tests
High issue on: Microsoft.eShopWeb.Web .Areas.Identity.Pages.Account.LoginModel046High04510min0071h 0minRule violated: From now, all types added should be 100% covered by tests
High issue on: Microsoft.eShopWeb.Web .Areas.Identity.Pages.Account .LoginModel+InputModel045High04410min0081h 0minRule violated: From now, all types added should be 100% covered by tests
High issue on: Microsoft.eShopWeb .Infrastructure.Data.Migrations .AddExtraConstraints.Up(MigrationBuilder )044High0645min0051h 0minRule violated: From now, all methods added should respect basic quality principles
High issue on: Microsoft.eShopWeb .Infrastructure.Data.Migrations .AddExtraConstraints.Down (MigrationBuilder)049High0685min0061h 0minRule violated: From now, all methods added should respect basic quality principles
High issue on: Microsoft.eShopWeb .ApplicationCore.Specifications .BaseSpecification<T>048High0011h 0min03820minRule violated: Avoid transforming an immutable type into a mutable one
High issue on: Microsoft.eShopWeb .ApplicationCore.Specifications .BasketWithItemsSpecification047High03910min04120minRule violated: Avoid transforming an immutable type into a mutable one
High issue on: Microsoft.eShopWeb .ApplicationCore.Specifications .CatalogFilterSpecification040High03810min04020minRule violated: Avoid transforming an immutable type into a mutable one
High issue on: Microsoft.eShopWeb .ApplicationCore.Specifications .CustomerOrdersWithItemsSpecification039High04110min03520minRule violated: Avoid transforming an immutable type into a mutable one
High issue on: Microsoft.eShopWeb .ApplicationCore.Specifications .CatalogFilterPaginatedSpecification. .ctor(Int32,Int32,Nullable<Int32> ,Nullable<Int32>)038High0606min03420minRule violated: Constructor should not call a virtual method
High issue on: Microsoft.eShopWeb .Infrastructure.Data.CatalogContext .ConfigureCatalogItem(EntityTypeBuilder <CatalogItem>)043High0675min03720minRule violated: Don't use obsolete types, methods or fields
High issue on: Microsoft.eShopWeb .Infrastructure.Data.CatalogContext .ConfigureCatalogBrand(EntityTypeBuilder <CatalogBrand>)042High0665min03620minRule violated: Don't use obsolete types, methods or fields
High issue on: Microsoft.eShopWeb .Infrastructure.Data.CatalogContext .ConfigureCatalogType(EntityTypeBuilder <CatalogType>)041High0655min04720minRule violated: Don't use obsolete types, methods or fields
High issue on: Microsoft.eShopWeb.Web .Interfaces.IBasketViewModelService008High01115min0001h 1minRule violated: Avoid namespaces mutually dependent
High issue on: Microsoft.eShopWeb.Web.Interfaces007High0002h 0min04620minRule violated: Avoid namespaces dependency cycles
High issue on: Microsoft.eShopWeb .ApplicationCore.Interfaces.IRepository <T>006High00520min04920minRule violated: API Breaking Changes: Types
High issue on: Microsoft.eShopWeb.Web .ViewComponents.Basket011High00220min04820minRule violated: API Breaking Changes: Types
High issue on: Microsoft.eShopWeb.Web .Services.ICatalogService010High00320min04320minRule violated: API Breaking Changes: Types
High issue on: Microsoft.eShopWeb.Web .Services.CachedCatalogService009High00420min04220minRule violated: API Breaking Changes: Types
High issue on: Microsoft.eShopWeb.Web .Services.CatalogService002High00920min04520minRule violated: API Breaking Changes: Types
High issue on: Microsoft.eShopWeb.Web .ViewModels.BasketItemViewModel001High01020min04420minRule violated: API Breaking Changes: Types
High issue on: Microsoft.eShopWeb.Web .ViewModels.BasketViewModel000High00820min02020minRule violated: API Breaking Changes: Types
High issue on: Microsoft.eShopWeb.Web .Controllers.BasketController005High00620min02220minRule violated: API Breaking Changes: Types
High issue on: Microsoft.eShopWeb.Web .Controllers.CatalogController004High00720min02320minRule violated: API Breaking Changes: Types
High issue on: Microsoft.eShopWeb .ApplicationCore.Services.BasketService. .ctor(IAsyncRepository<Basket> ,IRepository<CatalogItem>,IUriComposer ,IAppLogger<BasketService>)003High01210min02420minRule violated: API Breaking Changes: Methods
High issue on: Microsoft.eShopWeb .ApplicationCore.Interfaces .IOrderRepository.GetByIdWithItems(Int32 )012High02510min02120minRule violated: API Breaking Changes: Methods
High issue on: Microsoft.eShopWeb .Infrastructure.Data.EfRepository<T> .GetById(Int32)021High02810min01820minRule violated: API Breaking Changes: Methods
High issue on: Microsoft.eShopWeb .Infrastructure.Data.EfRepository<T> .GetSingleBySpec(ISpecification<T>)020High02710min01920minRule violated: API Breaking Changes: Methods
High issue on: Microsoft.eShopWeb .Infrastructure.Data.EfRepository<T> .ListAll()019High02110min02520minRule violated: API Breaking Changes: Methods
High issue on: Microsoft.eShopWeb .Infrastructure.Data.EfRepository<T> .List(ISpecification<T>)024High02410min03120minRule violated: API Breaking Changes: Methods
High issue on: Microsoft.eShopWeb .Infrastructure.Data.EfRepository<T>.Add (T)023High02310min03020minRule violated: API Breaking Changes: Methods
High issue on: Microsoft.eShopWeb .Infrastructure.Data.EfRepository<T> .Update(T)022High02210min03320minRule violated: API Breaking Changes: Methods
High issue on: Microsoft.eShopWeb .Infrastructure.Data.EfRepository<T> .Delete(T)015High02610min03220minRule violated: API Breaking Changes: Methods
High issue on: Microsoft.eShopWeb .Infrastructure.Data.OrderRepository .GetByIdWithItems(Int32)014High02010min02720minRule violated: API Breaking Changes: Methods
High issue on: Microsoft.eShopWeb.Web .Startup.Configure(IApplicationBuilder ,IHostingEnvironment)013High01410min02620minRule violated: API Breaking Changes: Methods
High issue on: Microsoft.eShopWeb.Web .Services.BasketViewModelService..ctor (IAsyncRepository<Basket>,IRepository <CatalogItem>,IUriComposer)018High01310min02920minRule violated: API Breaking Changes: Methods
High issue on: Microsoft.eShopWeb.Web .Controllers.ManageController.Index()017High01510min02820minRule violated: API Breaking Changes: Methods
High issue on: Microsoft.eShopWeb.Web .Controllers.OrderController.Index()016High01810min03920minRule violated: API Breaking Changes: Methods
High issue on: Microsoft.eShopWeb.Web .Controllers.Api.CatalogController..ctor (ICatalogService)083High01910min08420minRule violated: API Breaking Changes: Methods
High issue on: Microsoft.eShopWeb.Web .Services.BasketViewModelService ._itemRepository082High01610min08320minRule violated: API Breaking Changes: Fields
High issue on: Microsoft.eShopWeb .ApplicationCore.Interfaces .IAsyncRepository<T>081High01710min08220minRule violated: API Breaking Changes: Interfaces and Abstract Classes
High issue on: Microsoft.eShopWeb .ApplicationCore.Interfaces .IOrderRepository086High04610min08720minRule violated: API Breaking Changes: Interfaces and Abstract Classes
High issue on: Microsoft.eShopWeb .ApplicationCore.Interfaces .ISpecification<T>085High05110min08620minRule violated: API Breaking Changes: Interfaces and Abstract Classes
High issue on: Microsoft.eShopWeb .Infrastructure.Data.Migrations .AddExtraConstraints.BuildTargetModel (ModelBuilder)084High05010min08520minRule violated: New Methods should be tested
High issue on: Microsoft.eShopWeb.Web .Startup.ListAllRegisteredServices (IApplicationBuilder,LinkGenerator)077High05210min07820minRule violated: New Methods should be tested
High issue on: Microsoft.eShopWeb.Web .Areas.Identity.Pages.Account.LoginModel .OnPostAsync(String)076High04710min07720minRule violated: New Methods should be tested
High issue on: Microsoft.eShopWeb.Web .HealthChecks.ApiHealthCheck .CheckHealthAsync(HealthCheckContext ,CancellationToken)075High0539min07620minRule violated: New Methods should be tested
High issue on: Microsoft.eShopWeb.Web .HealthChecks.HomePageHealthCheck .CheckHealthAsync(HealthCheckContext ,CancellationToken)080High0558min08120minRule violated: New Methods should be tested
High issue on: Microsoft.eShopWeb.Web .Pages.Basket.CheckoutModel..ctor (IBasketService,IBasketViewModelService ,IUriComposer,SignInManager <ApplicationUser>,IOrderService)079High0568min08020minRule violated: New Methods should be tested
High issue on: Microsoft.eShopWeb.Web .Pages.Basket.CheckoutModel .GetOrSetBasketCookieAndUserName()078High0548min07920minRule violated: New Methods should be tested
High issue on: Microsoft.eShopWeb .Infrastructure.Data.Migrations .AddExtraConstraints.Up(MigrationBuilder )087High0596min09620minRule violated: New Methods should be tested
High issue on: Microsoft.eShopWeb .Infrastructure.Data.Migrations .AddExtraConstraints.Down (MigrationBuilder)096High0586min09520minRule violated: New Methods should be tested
High issue on: Microsoft.eShopWeb.Web .Pages.Basket.CheckoutModel.OnPost (Dictionary<String,Int32>)095High0625min09420minRule violated: New Methods should be tested
High issue on: Microsoft.eShopWeb.Web .Controllers.ManageController.MyAccount( )094High0615min09920minRule violated: New Methods should be tested
High issue on: Microsoft.eShopWeb.Web .Controllers.OrderController.MyOrders()099High0635min09820minRule violated: New Methods should be tested
High issue on: Microsoft.eShopWeb.Web .Pages.Basket.CheckoutModel .SetBasketModelAsync()098High0694min 40s09720minRule violated: New Methods should be tested
High issue on: Microsoft.eShopWeb.Web .HealthChecks.ApiHealthCheck..ctor (IHttpContextAccessor,LinkGenerator)097High0723min 46s09020minRule violated: New Methods should be tested
High issue on: Microsoft.eShopWeb.Web .Services.CachedCatalogViewModelService .GetBrands()090High0733min 46s08920minRule violated: New Methods should be tested
High issue on: Microsoft.eShopWeb.Web .Services.CachedCatalogViewModelService .GetTypes()089High0703min 46s08820minRule violated: New Methods should be tested
High issue on: Microsoft.eShopWeb.Web .Pages.Basket.IndexModel.OnPostUpdate (Dictionary<String,Int32>)088High0713min 46s09320minRule violated: New Methods should be tested
High issue on: Microsoft.eShopWeb.Web .HealthChecks.HomePageHealthCheck..ctor (IHttpContextAccessor)093High0762min 53s09220minRule violated: New Methods should be tested
High issue on: Microsoft.eShopWeb .ApplicationCore.Specifications .BaseSpecification<T>.set_OrderBy (Expression<Func<T,Object>>)092High0902min 0s09120minRule violated: New Methods should be tested
High issue on: Microsoft.eShopWeb .ApplicationCore.Specifications .BaseSpecification<T> .set_OrderByDescending(Expression<Func<T ,Object>>)091High0912min 0s07520minRule violated: New Methods should be tested
High issue on: Microsoft.eShopWeb .ApplicationCore.Specifications .BaseSpecification<T>.ApplyOrderBy (Expression<Func<T,Object>>)058High0922min 0s05920minRule violated: New Methods should be tested
High issue on: Microsoft.eShopWeb .ApplicationCore.Specifications .BaseSpecification<T> .ApplyOrderByDescending(Expression<Func <T,Object>>)057High0892min 0s05820minRule violated: New Methods should be tested
High issue on: Microsoft.eShopWeb.Web .Pages.ErrorModel.get_RequestId()056High0862min 0s05720minRule violated: New Methods should be tested
High issue on: Microsoft.eShopWeb.Web .Pages.ErrorModel.set_RequestId(String)061High0872min 0s06220minRule violated: New Methods should be tested
High issue on: Microsoft.eShopWeb.Web .Pages.ErrorModel.get_ShowRequestId()060High0882min 0s06120minRule violated: New Methods should be tested
High issue on: Microsoft.eShopWeb.Web .Pages.ErrorModel.OnGet()059High0972min 0s06020minRule violated: New Methods should be tested
High issue on: Microsoft.eShopWeb.Web .Pages.Basket.BasketItemViewModel .get_CatalogItemId()052High0982min 0s05320minRule violated: New Methods should be tested
High issue on: Microsoft.eShopWeb.Web .Pages.Basket.BasketItemViewModel .get_OldUnitPrice()051High0992min 0s05220minRule violated: New Methods should be tested
High issue on: Microsoft.eShopWeb.Web .Pages.Basket.BasketItemViewModel .set_OldUnitPrice(Decimal)050High0962min 0s05120minRule violated: New Methods should be tested
High issue on: Microsoft.eShopWeb.Web .Pages.Basket.BasketViewModel .get_BuyerId()055High0932min 0s05620minRule violated: New Methods should be tested
High issue on: Microsoft.eShopWeb.Web .Pages.Basket.CheckoutModel .get_BasketModel()054High0942min 0s05520minRule violated: New Methods should be tested
High issue on: Microsoft.eShopWeb.Web .Pages.Basket.CheckoutModel .set_BasketModel(BasketViewModel)053High0952min 0s05420minRule violated: New Methods should be tested
High issue on: Microsoft.eShopWeb.Web .Areas.Identity.Pages.Account.LoginModel .set_Input(LoginModel+InputModel)062High0782min 0s07120minRule violated: New Methods should be tested
High issue on: Microsoft.eShopWeb.Web .Areas.Identity.Pages.Account.LoginModel .get_ExternalLogins()071High0792min 0s07020minRule violated: New Methods should be tested
High issue on: Microsoft.eShopWeb.Web .Areas.Identity.Pages.Account .LoginModel+InputModel.get_Email()070High0772min 0s06920minRule violated: New Methods should be tested
High issue on: Microsoft.eShopWeb.Web .Areas.Identity.Pages.Account .LoginModel+InputModel.set_Email(String)069High0802min 0s07420minRule violated: New Methods should be tested
High issue on: Microsoft.eShopWeb.Web .Areas.Identity.Pages.Account .LoginModel+InputModel.get_Password()074High0842min 0s07320minRule violated: New Methods should be tested
High issue on: Microsoft.eShopWeb.Web .Areas.Identity.Pages.Account .LoginModel+InputModel.set_Password (String)073High0852min 0s07220minRule violated: New Methods should be tested
High issue on: Microsoft.eShopWeb.Web .Areas.Identity.Pages.Account .LoginModel+InputModel.get_RememberMe()072High0832min 0s06520minRule violated: New Methods should be tested
High issue on: Microsoft.eShopWeb.Web .Areas.Identity.Pages.Account .LoginModel+InputModel.set_RememberMe (Boolean)065High0812min 0s06420minRule violated: New Methods should be tested
High issue on: Microsoft.eShopWeb .Infrastructure.Data.Migrations .CatalogContextModelSnapshot.BuildModel (ModelBuilder)064High04910min06320minRule violated: Methods refactored should be tested
High issue on: Microsoft.eShopWeb.Web .Controllers.AccountController .ConfirmEmail(String,String)063High0577min06820minRule violated: Methods refactored should be tested
High issue on: Microsoft.eShopWeb .ApplicationCore.Specifications .CustomerOrdersWithItemsSpecification. .ctor(String)068High0743min 46s06720minRule violated: Methods refactored should be tested
High issue on: Microsoft.eShopWeb.Web .Controllers.AccountController.SignOut()067High0752min 53s06620minRule violated: Methods refactored should be tested
High issue on: Microsoft.eShopWeb .ApplicationCore.Entities.OrderAggregate .Order066High0822min 0s05020minRule violated: Types almost 100% tested should be 100% tested

Statistics

Stat   Severity   Debt   Annual Interest
Sum:-2d 7h6d 5h
Average:-11min25min
Minimum:-2min 0s20min
Maximum:-2h 0min1h 1min
Standard deviation:-12min14min
Variance:-19d 5h24d
ok   Quality Gate Fail:    Critical Rules Violated

6 rules matched

6 rulesissuesFull Name
Avoid namespaces mutually dependent32 issuesRule
API Breaking Changes: Types19 issuesRule
API Breaking Changes: Methods015 issuesRule
API Breaking Changes: Fields51 issueRule
API Breaking Changes: Interfaces and Abstract Classes23 issuesRule
Avoid having different types with same name41 issueRule

Statistics

Stat   issues
Sum:31
Average:5.17
Minimum:1
Maximum:15
Standard deviation:5.18
Variance:26.81
ok   Quality Gate Warn:    Percentage Debt

Scalar Result: 23.25 %

ok   Quality Gate Pass:    New Debt since Baseline

Scalar Result: -1.24 man-days

ok   Quality Gate Fail:    Debt Rating per Namespace

13 namespaces matched

13 namespacesdebtRatingdebtRatiodevTimeInManDaydebtInManDayissuesFull Name
Ardalis.GuardClauses05D0442.491143min1118min104 issuesArdalis.GuardClauses
Microsoft.eShopWeb.ApplicationCore .Specifications06D1121.81031d 3h052h 32min0221 issuesMicrosoft.eShopWeb.ApplicationCore .Specifications
Microsoft.eShopWeb.ApplicationCore .Interfaces01E0160.61055h 28min033h 19min077 issuesMicrosoft.eShopWeb.ApplicationCore .Interfaces
Microsoft.eShopWeb.Infrastructure .Identity.Migrations03D0538.78023d 4h021d 3h086 issuesMicrosoft.eShopWeb.Infrastructure .Identity.Migrations
Microsoft.eShopWeb.Infrastructure.Data .Migrations04D0737015d 2h011d 7h0316 issuesMicrosoft.eShopWeb.Infrastructure.Data .Migrations
Microsoft.AspNetCore.Mvc07D0345.520951min1023min096 issuesMicrosoft.AspNetCore.Mvc
Microsoft.eShopWeb.Web.Interfaces02E00520.831225min062h 15min112 issuesMicrosoft.eShopWeb.Web.Interfaces
Microsoft.eShopWeb.Web.HealthChecks12D0637.46064h 36min071h 43min0612 issuesMicrosoft.eShopWeb.Web.HealthChecks
Microsoft.eShopWeb.Web.Views.Manage10D1220.23083h 36min0943min0513 issuesMicrosoft.eShopWeb.Web.Views.Manage
Microsoft.eShopWeb.Web.Pages08D1022.27074h 1min0853min0415 issuesMicrosoft.eShopWeb.Web.Pages
Microsoft.eShopWeb.Web.Controllers00E0254.97006d 0h003d 2h0075 issuesMicrosoft.eShopWeb.Web.Controllers
Microsoft.eShopWeb.Web.Areas.Identity09D0930.091043min1213min122 issuesMicrosoft.eShopWeb.Web.Areas.Identity
Microsoft.eShopWeb.Web.Areas.Identity .Pages.Account11D0832.93041d 1h043h 10min0126 issuesMicrosoft.eShopWeb.Web.Areas.Identity .Pages.Account

Statistics

Stat   debtRating   debtRatio   devTimeInManDay   debtInManDay   issues
Sum:-96520d8d 5h205
Average:-74.231d 4h5h 18min15.77
Minimum:-20.2325min13min2
Maximum:-520.836d 0h3d 2h75
Standard deviation:-129.451d 7h7h 36min18.5
Variance:-16 758113 570d26 093d342.18
ok   Quality Gate Fail:    New Annual Interest since Baseline

Scalar Result: 4.68 man-days

Hot Spots
000

    Code Smells
    000

      Code Smells Regression
      000

        Object Oriented Design
        000

          Design
          000

            Architecture
            000

              API Breaking Changes
              000

                Code Coverage
                000

                  Dead Code
                  000

                    Security
                    000

                      Visibility
                      000

                        Immutability
                        000

                          Naming Conventions
                          000

                            Source Files Organization
                            000

                              This group contains children groups
                              .NET Framework Usage
                              000

                                Defining JustMyCode
                                000

                                  This group contains children groups
                                  Trend Metrics
                                  000

                                    Code Diff Summary
                                    000

                                      Rules extracted from Source Code
                                      000

                                        Code Smells
                                        710

                                        warning   Rule Violated:    Avoid types with too many methods

                                        1 type matched

                                        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
                                        1 typenbMethodsinstanceMethodsstaticMethods# lines of code (LOC)DebtAnnual InterestFull Name
                                        ManageController022022 methods0no method018901h 6min03min 18sMicrosoft.eShopWeb.Web.Controllers .ManageController

                                        Code Smells Regression
                                        630

                                        warning   Rule Violated:    From now, all types added should be 100% covered by tests

                                        15 types matched

                                        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
                                        15 typesPercentage CoveragemethodsCulprit# lines of code (LOC)DebtAnnual InterestFull Name
                                        SpecificationEvaluator<T>0664.29%101 method07140410min041h 0minMicrosoft.eShopWeb.Infrastructure.Data .SpecificationEvaluator<T>
                                        AddExtraConstraints090%053 methods00870510min051h 0minMicrosoft.eShopWeb.Infrastructure.Data .Migrations.AddExtraConstraints
                                        SlugifyParameterTransformer0466.67%091 method1330610min061h 0minMicrosoft.eShopWeb.Web .SlugifyParameterTransformer
                                        ApiHealthCheck080%081 method08120310min031h 0minMicrosoft.eShopWeb.Web.HealthChecks .ApiHealthCheck
                                        HomePageHealthCheck130%131 method09100010min001h 0minMicrosoft.eShopWeb.Web.HealthChecks .HomePageHealthCheck
                                        CachedCatalogViewModelService0564.71%072 methods04170110min011h 0minMicrosoft.eShopWeb.Web.Services .CachedCatalogViewModelService
                                        ErrorModel140%024 methods1240210min021h 0minMicrosoft.eShopWeb.Web.Pages.ErrorModel
                                        PrivacyModel100%141 method1400710min071h 0minMicrosoft.eShopWeb.Web.Pages .PrivacyModel
                                        BasketItemViewModel0278.57%043 methods06141210min121h 0minMicrosoft.eShopWeb.Web.Pages.Basket .BasketItemViewModel
                                        BasketViewModel0088.89%111 method1091310min131h 0minMicrosoft.eShopWeb.Web.Pages.Basket .BasketViewModel
                                        CheckoutModel120%006 methods03271410min141h 0minMicrosoft.eShopWeb.Web.Pages.Basket .CheckoutModel
                                        IndexModel0377.42%063 methods02311110min111h 0minMicrosoft.eShopWeb.Web.Pages.Basket .IndexModel
                                        Basket0187.5%121 method05160810min081h 0minMicrosoft.eShopWeb.Web.Pages.Shared .Components.BasketComponent.Basket
                                        LoginModel0741.94%034 methods01310910min091h 0minMicrosoft.eShopWeb.Web.Areas.Identity .Pages.Account.LoginModel
                                        LoginModel+InputModel110%016 methods1161010min101h 0minMicrosoft.eShopWeb.Web.Areas.Identity .Pages.Account.LoginModel+InputModel
                                        warning   Rule Violated:    From now, all methods added should respect basic quality principles

                                        2 methods matched

                                        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
                                        2 methods# lines of code (LOC)# IL instructionsCyclomatic Complexity (CC)IL Cyclomatic Complexity (ILCC)IL Nesting Depth# Parameters# Variables# OverloadsDebtAnnual InterestFull Name
                                        Up(MigrationBuilder)06022401010001020105min01h 0minMicrosoft.eShopWeb.Infrastructure.Data .Migrations.AddExtraConstraints.Up (MigrationBuilder)
                                        Down(MigrationBuilder)16122411111011121115min11h 0minMicrosoft.eShopWeb.Infrastructure.Data .Migrations.AddExtraConstraints.Down (MigrationBuilder)
                                        warning   Rule Violated:    Avoid transforming an immutable type into a mutable one

                                        4 types matched

                                        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
                                        4 typesculpritFieldsDebtSeverityFull Name
                                        BaseSpecification<T>05 fields01h 0min1HighMicrosoft.eShopWeb.ApplicationCore .Specifications.BaseSpecification<T>
                                        BasketWithItemsSpecification1no field110min0HighMicrosoft.eShopWeb.ApplicationCore .Specifications .BasketWithItemsSpecification
                                        CatalogFilterSpecification3no field310min3HighMicrosoft.eShopWeb.ApplicationCore .Specifications .CatalogFilterSpecification
                                        CustomerOrdersWithItemsSpecification2no field210min2HighMicrosoft.eShopWeb.ApplicationCore .Specifications .CustomerOrdersWithItemsSpecification

                                        Object Oriented Design
                                        950

                                        warning   Rule Violated:    A stateless class or structure might be turned into a static type

                                        1 type matched

                                        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
                                        1 typemethodsUsingMeDebtSeverityFull Name
                                        SlugifyParameterTransformer01 method02min 0s0LowMicrosoft.eShopWeb.Web .SlugifyParameterTransformer
                                        warning   Rule Violated:    Non-static classes should be instantiated or turned to static

                                        2 types matched

                                        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
                                        2 typesVisibilityDebtSeverityFull Name
                                        SpecificationEvaluator<T>0Public02min 0s0MediumMicrosoft.eShopWeb.Infrastructure.Data .SpecificationEvaluator<T>
                                        PaymentMethod1Public12min 0s1MediumMicrosoft.eShopWeb.ApplicationCore .Entities.BuyerAggregate.PaymentMethod
                                        warning   Rule Violated:    Methods should be declared static if possible

                                        10 methods matched

                                        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
                                        10 methodsstaticFieldsUsedmethodsCallingMeDebtSeverityFull Name
                                        ConfigurateCatalogItemOrdered (EntityTypeBuilder<CatalogItemOrdered>)03no field021 method021min 0s03MediumMicrosoft.eShopWeb.Infrastructure.Data .CatalogContext .ConfigurateCatalogItemOrdered (EntityTypeBuilder<CatalogItemOrdered>)
                                        ConfigureAddress(EntityTypeBuilder <Address>)04no field031 method031min 0s04MediumMicrosoft.eShopWeb.Infrastructure.Data .CatalogContext.ConfigureAddress (EntityTypeBuilder<Address>)
                                        OnGet()02no field08no method080min 30s02MediumMicrosoft.eShopWeb.Web.Pages .PrivacyModel.OnGet()
                                        OnGet()00no field09no method090min 30s00MediumMicrosoft.eShopWeb.Web.Pages.Basket .CheckoutModel.OnGet()
                                        ConfigureBasket(EntityTypeBuilder<Basket >)01no field001 method001min 0s01MediumMicrosoft.eShopWeb.Infrastructure.Data .CatalogContext.ConfigureBasket (EntityTypeBuilder<Basket>)
                                        ConfigureCatalogItem(EntityTypeBuilder <CatalogItem>)08no field011 method011min 0s08MediumMicrosoft.eShopWeb.Infrastructure.Data .CatalogContext.ConfigureCatalogItem (EntityTypeBuilder<CatalogItem>)
                                        ConfigureCatalogBrand(EntityTypeBuilder <CatalogBrand>)09no field071 method071min 0s09MediumMicrosoft.eShopWeb.Infrastructure.Data .CatalogContext.ConfigureCatalogBrand (EntityTypeBuilder<CatalogBrand>)
                                        ConfigureCatalogType(EntityTypeBuilder <CatalogType>)07no field061 method061min 0s07MediumMicrosoft.eShopWeb.Infrastructure.Data .CatalogContext.ConfigureCatalogType (EntityTypeBuilder<CatalogType>)
                                        ConfigureOrder(EntityTypeBuilder<Order>)05no field051 method051min 0s05MediumMicrosoft.eShopWeb.Infrastructure.Data .CatalogContext.ConfigureOrder (EntityTypeBuilder<Order>)
                                        ConfigureOrderItem(EntityTypeBuilder <OrderItem>)06no field041 method041min 0s06MediumMicrosoft.eShopWeb.Infrastructure.Data .CatalogContext.ConfigureOrderItem (EntityTypeBuilder<OrderItem>)
                                        warning   Rule Violated:    Constructor should not call a virtual method

                                        2 methods matched

                                        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
                                        2 methodsvirtualMethodsCalledDerivedTypesDebtSeverityFull Name
                                        .ctor(Int32,Int32,Nullable<Int32> ,Nullable<Int32>)11 method0no type16min0HighMicrosoft.eShopWeb.ApplicationCore .Specifications .CatalogFilterPaginatedSpecification. .ctor(Int32,Int32,Nullable<Int32> ,Nullable<Int32>)
                                        .ctor(String)02 methods1no type012min1HighMicrosoft.eShopWeb.ApplicationCore .Specifications .CustomerOrdersWithItemsSpecification. .ctor(String)
                                        warning   Rule Violated:    Avoid empty interfaces

                                        1 type matched

                                        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
                                        1 typeTypesThatImplementMeDebtSeverityFull Name
                                        IAggregateRoot03 types019min0MediumMicrosoft.eShopWeb.ApplicationCore .Interfaces.IAggregateRoot

                                        Design
                                        840

                                        warning   Rule Violated:    Types with disposable instance fields must be disposable

                                        3 types matched

                                        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
                                        3 typesinstanceFieldsDisposableDebtSeverityFull Name
                                        CachedCatalogViewModelService01 field07min0MediumMicrosoft.eShopWeb.Web.Services .CachedCatalogViewModelService
                                        AccountController11 field17min1MediumMicrosoft.eShopWeb.Web.Controllers .AccountController
                                        ManageController21 field27min2MediumMicrosoft.eShopWeb.Web.Controllers .ManageController
                                        warning   Rule Violated:    Avoid namespaces with few types

                                        13 namespaces matched

                                        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
                                        13 namespacestypesDebtSeverityFull Name
                                        Microsoft.eShopWeb.Web.Pages.Shared .Components.BasketComponent091 type035min03LowMicrosoft.eShopWeb.Web.Pages.Shared .Components.BasketComponent
                                        Microsoft.eShopWeb.Web.HealthChecks062 types045min04LowMicrosoft.eShopWeb.Web.HealthChecks
                                        Microsoft.eShopWeb.Web.Areas.Identity .Pages.Account042 types055min05LowMicrosoft.eShopWeb.Web.Areas.Identity .Pages.Account
                                        Microsoft.eShopWeb.Web.Pages033 types005min00LowMicrosoft.eShopWeb.Web.Pages
                                        Microsoft.eShopWeb.Web.Pages.Basket004 types015min01LowMicrosoft.eShopWeb.Web.Pages.Basket
                                        Ardalis.GuardClauses121 type025min02LowArdalis.GuardClauses
                                        Microsoft.eShopWeb111 type065min06LowMicrosoft.eShopWeb
                                        Microsoft.AspNetCore.Mvc101 type105min10LowMicrosoft.AspNetCore.Mvc
                                        Microsoft.eShopWeb.ApplicationCore .Entities.BuyerAggregate072 types115min11LowMicrosoft.eShopWeb.ApplicationCore .Entities.BuyerAggregate
                                        Microsoft.eShopWeb.ApplicationCore .Entities.BasketAggregate082 types125min12LowMicrosoft.eShopWeb.ApplicationCore .Entities.BasketAggregate
                                        Microsoft.eShopWeb.Web.Controllers.Api052 types075min07LowMicrosoft.eShopWeb.Web.Controllers.Api
                                        Microsoft.eShopWeb.ApplicationCore .Entities.OrderAggregate014 types085min08LowMicrosoft.eShopWeb.ApplicationCore .Entities.OrderAggregate
                                        Microsoft.eShopWeb.Web.ViewModels .Account024 types095min09LowMicrosoft.eShopWeb.Web.ViewModels .Account
                                        warning   Rule Violated:    Nested types should not be visible

                                        1 type matched

                                        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
                                        1 typeVisibilitytypesUserDebtSeverityFull Name
                                        LoginModel+InputModel0Public0no type02min 0s0MediumMicrosoft.eShopWeb.Web.Areas.Identity .Pages.Account.LoginModel+InputModel
                                        warning   Rule Violated:    Don't use obsolete types, methods or fields

                                        3 methods matched

                                        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
                                        3 methodsobsoleteUsageDebtSeverityFull Name
                                        ConfigureCatalogItem(EntityTypeBuilder <CatalogItem>)01 method05min0HighMicrosoft.eShopWeb.Infrastructure.Data .CatalogContext.ConfigureCatalogItem (EntityTypeBuilder<CatalogItem>)
                                        ConfigureCatalogBrand(EntityTypeBuilder <CatalogBrand>)11 method15min1HighMicrosoft.eShopWeb.Infrastructure.Data .CatalogContext.ConfigureCatalogBrand (EntityTypeBuilder<CatalogBrand>)
                                        ConfigureCatalogType(EntityTypeBuilder <CatalogType>)21 method25min2HighMicrosoft.eShopWeb.Infrastructure.Data .CatalogContext.ConfigureCatalogType (EntityTypeBuilder<CatalogType>)

                                        Architecture
                                        521

                                        warningCritical   Critical Rule Violated:    Avoid namespaces mutually dependent

                                        2 types matched

                                        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
                                        2 typesshouldntUsebecauseNamespaceshouldntUseNamespaceDebtAnnual InterestFull Name
                                        IBasketViewModelService01 typeMicrosoft.eShopWeb.Web.InterfacesMicrosoft.eShopWeb.Web.Pages.Basket015min01h 1minMicrosoft.eShopWeb.Web.Interfaces .IBasketViewModelService
                                        Order11 typeMicrosoft.eShopWeb.ApplicationCore.Entities.OrderAggregateMicrosoft.eShopWeb.ApplicationCore.Interfaces115min11h 1minMicrosoft.eShopWeb.ApplicationCore .Entities.OrderAggregate.Order
                                        warning   Rule Violated:    Avoid namespaces dependency cycles

                                        2 namespaces matched

                                        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
                                        2 namespacescycleDebtSeverityFull Name
                                        Microsoft.eShopWeb.Web.Interfaces02 namespaces02h 0min0HighMicrosoft.eShopWeb.Web.Interfaces
                                        Microsoft.eShopWeb.ApplicationCore .Interfaces12 namespaces12h 0min1HighMicrosoft.eShopWeb.ApplicationCore .Interfaces
                                        warning   Rule Violated:    Assemblies with poor cohesion (RelationalCohesion)

                                        1 assembly matched

                                        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
                                        1 assemblyChildTypesrelationalCohesionRelational cohesionDebtSeverityFull Name
                                        Web053 types0101.17010min0LowWeb

                                        API Breaking Changes
                                        204

                                        warningCritical   Critical Rule Violated:    API Breaking Changes: Types

                                        9 types matched

                                        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
                                        9 typesNewVisibilityDebtSeverityFull Name
                                        IRepository<T> 220min2HighMicrosoft.eShopWeb.ApplicationCore .Interfaces.IRepository<T>
                                        Basket 320min3HighMicrosoft.eShopWeb.Web.ViewComponents .Basket
                                        ICatalogService 020min0HighMicrosoft.eShopWeb.Web.Services .ICatalogService
                                        CachedCatalogService 120min1HighMicrosoft.eShopWeb.Web.Services .CachedCatalogService
                                        CatalogService 420min4HighMicrosoft.eShopWeb.Web.Services .CatalogService
                                        BasketItemViewModel 720min7HighMicrosoft.eShopWeb.Web.ViewModels .BasketItemViewModel
                                        BasketViewModel 820min8HighMicrosoft.eShopWeb.Web.ViewModels .BasketViewModel
                                        BasketController 520min5HighMicrosoft.eShopWeb.Web.Controllers .BasketController
                                        CatalogController 620min6HighMicrosoft.eShopWeb.Web.Controllers .CatalogController
                                        warningCritical   Critical Rule Violated:    API Breaking Changes: Methods

                                        15 methods matched

                                        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
                                        15 methodsNewVisibilityDebtSeverityFull Name
                                        .ctor(IAsyncRepository<Basket> ,IRepository<CatalogItem>,IUriComposer ,IAppLogger<BasketService>) 0410min04HighMicrosoft.eShopWeb.ApplicationCore .Services.BasketService..ctor (IAsyncRepository<Basket>,IRepository <CatalogItem>,IUriComposer,IAppLogger <BasketService>)
                                        GetByIdWithItems(Int32) 0510min05HighMicrosoft.eShopWeb.ApplicationCore .Interfaces.IOrderRepository .GetByIdWithItems(Int32)
                                        GetById(Int32) 0610min06HighMicrosoft.eShopWeb.Infrastructure.Data .EfRepository<T>.GetById(Int32)
                                        GetSingleBySpec(ISpecification<T>) 0310min03HighMicrosoft.eShopWeb.Infrastructure.Data .EfRepository<T>.GetSingleBySpec (ISpecification<T>)
                                        ListAll() 0010min00HighMicrosoft.eShopWeb.Infrastructure.Data .EfRepository<T>.ListAll()
                                        List(ISpecification<T>) 0110min01HighMicrosoft.eShopWeb.Infrastructure.Data .EfRepository<T>.List(ISpecification<T>)
                                        Add(T) 0210min02HighMicrosoft.eShopWeb.Infrastructure.Data .EfRepository<T>.Add(T)
                                        Update(T) 0710min07HighMicrosoft.eShopWeb.Infrastructure.Data .EfRepository<T>.Update(T)
                                        Delete(T) 1210min12HighMicrosoft.eShopWeb.Infrastructure.Data .EfRepository<T>.Delete(T)
                                        GetByIdWithItems(Int32) 1310min13HighMicrosoft.eShopWeb.Infrastructure.Data .OrderRepository.GetByIdWithItems(Int32)
                                        Configure(IApplicationBuilder ,IHostingEnvironment) 1410min14HighMicrosoft.eShopWeb.Web.Startup.Configure (IApplicationBuilder,IHostingEnvironment )
                                        .ctor(IAsyncRepository<Basket> ,IRepository<CatalogItem>,IUriComposer) 1110min11HighMicrosoft.eShopWeb.Web.Services .BasketViewModelService..ctor (IAsyncRepository<Basket>,IRepository <CatalogItem>,IUriComposer)
                                        Index() 0810min08HighMicrosoft.eShopWeb.Web.Controllers .ManageController.Index()
                                        Index() 0910min09HighMicrosoft.eShopWeb.Web.Controllers .OrderController.Index()
                                        .ctor(ICatalogService) 1010min10HighMicrosoft.eShopWeb.Web.Controllers.Api .CatalogController..ctor(ICatalogService )
                                        warningCritical   Critical Rule Violated:    API Breaking Changes: Fields

                                        1 field matched

                                        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
                                        1 fieldNewVisibilityDebtSeverityFull Name
                                        _itemRepositoryPrivate010min0HighMicrosoft.eShopWeb.Web.Services .BasketViewModelService._itemRepository
                                        warningCritical   Critical Rule Violated:    API Breaking Changes: Interfaces and Abstract Classes

                                        3 types matched

                                        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
                                        3 typesmethodsAddedmethodsRemovedDebtSeverityFull Name
                                        IAsyncRepository<T>11 method1no method010min0HighMicrosoft.eShopWeb.ApplicationCore .Interfaces.IAsyncRepository<T>
                                        IOrderRepository2no method01 method110min1HighMicrosoft.eShopWeb.ApplicationCore .Interfaces.IOrderRepository
                                        ISpecification<T>05 methods2no method210min2HighMicrosoft.eShopWeb.ApplicationCore .Interfaces.ISpecification<T>

                                        Code Coverage
                                        280

                                        warning   Rule Violated:    Code should be tested

                                        238 methods matched

                                        238 methodsPercentage Coverage# lines of code (LOC)# lines of code not coveredCyclomatic Complexity (CC)DebtAnnual InterestFull Name
                                        GetQuery(IQueryable<T>,ISpecification<T> )00564.29%013140455007703026min00116minMicrosoft.eShopWeb.Infrastructure.Data .SpecificationEvaluator<T>.GetQuery (IQueryable<T>,ISpecification<T>)
                                        BuildTargetModel(ModelBuilder)0370%0047500075003140033h 22min0089minMicrosoft.eShopWeb.Infrastructure.Data .Migrations.AddExtraConstraints .BuildTargetModel(ModelBuilder)
                                        set_OrderBy(Expression<Func<T,Object>>)0390%0681065106710672min 45s0109minMicrosoft.eShopWeb.ApplicationCore .Specifications.BaseSpecification<T> .set_OrderBy(Expression<Func<T,Object>>)
                                        set_OrderByDescending(Expression<Func<T ,Object>>)0410%0671064106810692min 45s0099minMicrosoft.eShopWeb.ApplicationCore .Specifications.BaseSpecification<T> .set_OrderByDescending(Expression<Func<T ,Object>>)
                                        get_RequestId()0400%0701068106110842min 17s0176minMicrosoft.eShopWeb.Web.Pages.ErrorModel .get_RequestId()
                                        GetOrSetBasketCookieAndUserName()0360%03280288037302530min0186minMicrosoft.eShopWeb.Web.Pages.Basket .CheckoutModel .GetOrSetBasketCookieAndUserName()
                                        ListAllRegisteredServices (IApplicationBuilder,LinkGenerator)01211.54%0072600723020401638min0244min 46sMicrosoft.eShopWeb.Web.Startup .ListAllRegisteredServices (IApplicationBuilder,LinkGenerator)
                                        SetBasketModelAsync()01150%0554060205320566min0254min 41sMicrosoft.eShopWeb.Web.Pages.Basket .IndexModel.SetBasketModelAsync()
                                        OnPostAsync(String)0320%012140101401160081h 26min0264min 41sMicrosoft.eShopWeb.Web.Areas.Identity .Pages.Account.LoginModel.OnPostAsync (String)
                                        SetBasketModelAsync()0310%05440494052204213min0383min 44sMicrosoft.eShopWeb.Web.Pages.Basket .CheckoutModel.SetBasketModelAsync()
                                        set_RequestId(String)0330%0731069106910752min 17s0393min 37sMicrosoft.eShopWeb.Web.Pages.ErrorModel .set_RequestId(String)
                                        CheckHealthAsync(HealthCheckContext ,CancellationToken)0350%02690229048203622min0453min 7sMicrosoft.eShopWeb.Web.HealthChecks .ApiHealthCheck.CheckHealthAsync (HealthCheckContext,CancellationToken)
                                        CheckHealthAsync(HealthCheckContext ,CancellationToken)0340%03580328055203820min0512min 48sMicrosoft.eShopWeb.Web.HealthChecks .HomePageHealthCheck.CheckHealthAsync (HealthCheckContext,CancellationToken)
                                        .ctor(IBasketService ,IBasketViewModelService,IUriComposer ,SignInManager<ApplicationUser> ,IOrderService)0490%03480338064104510min0502min 48sMicrosoft.eShopWeb.Web.Pages.Basket .CheckoutModel..ctor(IBasketService ,IBasketViewModelService,IUriComposer ,SignInManager<ApplicationUser> ,IOrderService)
                                        Up(MigrationBuilder)0480%0436041606510518min0652min 11sMicrosoft.eShopWeb.Infrastructure.Data .Migrations.AddExtraConstraints.Up (MigrationBuilder)
                                        Down(MigrationBuilder)0500%0426042606210508min0642min 11sMicrosoft.eShopWeb.Infrastructure.Data .Migrations.AddExtraConstraints.Down (MigrationBuilder)
                                        ApplyOrderBy(Expression<Func<T,Object>>)0520%0721070106310712min 31s0692min 0sMicrosoft.eShopWeb.ApplicationCore .Specifications.BaseSpecification<T> .ApplyOrderBy(Expression<Func<T,Object>> )
                                        ApplyOrderByDescending(Expression<Func<T ,Object>>)0510%0711071106610702min 31s0702min 0sMicrosoft.eShopWeb.ApplicationCore .Specifications.BaseSpecification<T> .ApplyOrderByDescending(Expression<Func <T,Object>>)
                                        TransformOutbound(Object)00066.67%0563072104720662min 59s0812min 0sMicrosoft.eShopWeb.Web .SlugifyParameterTransformer .TransformOutbound(Object)
                                        CreateIdentityIfNotCreated (IServiceCollection)00760%0475056204320643min 12s0932min 0sMicrosoft.eShopWeb.Web.Startup .CreateIdentityIfNotCreated (IServiceCollection)
                                        Configure(IApplicationBuilder ,IHostingEnvironment,LinkGenerator)00366.67%008210397009604412min0942min 0sMicrosoft.eShopWeb.Web.Startup.Configure (IApplicationBuilder,IHostingEnvironment ,LinkGenerator)
                                        .ctor(IHttpContextAccessor,LinkGenerator )0470%0613053305710594min 35s0912min 0sMicrosoft.eShopWeb.Web.HealthChecks .ApiHealthCheck..ctor (IHttpContextAccessor,LinkGenerator)
                                        .ctor(IHttpContextAccessor)0430%0632057205610623min 26s0922min 0sMicrosoft.eShopWeb.Web.HealthChecks .HomePageHealthCheck..ctor (IHttpContextAccessor)
                                        GetBrands()0420%0583052303820488min0952min 0sMicrosoft.eShopWeb.Web.Services .CachedCatalogViewModelService.GetBrands ()
                                        GetTypes()0440%0593051304120498min0982min 0sMicrosoft.eShopWeb.Web.Services .CachedCatalogViewModelService.GetTypes( )
                                        get_ShowRequestId()0460%0661066106010912min 17s0992min 0sMicrosoft.eShopWeb.Web.Pages.ErrorModel .get_ShowRequestId()
                                        OnGet()0450%0901073103920604min 28s0962min 0sMicrosoft.eShopWeb.Web.Pages.ErrorModel .OnGet()
                                        OnGet()0160%0980098005810982min 0s0972min 0sMicrosoft.eShopWeb.Web.Pages .PrivacyModel.OnGet()
                                        get_CatalogItemId()0180%0911091105910902min 17s0842min 0sMicrosoft.eShopWeb.Web.Pages.Basket .BasketItemViewModel.get_CatalogItemId()
                                        get_OldUnitPrice()0200%0921092109010862min 17s0852min 0sMicrosoft.eShopWeb.Web.Pages.Basket .BasketItemViewModel.get_OldUnitPrice()
                                        set_OldUnitPrice(Decimal)0190%0871087109110872min 17s0822min 0sMicrosoft.eShopWeb.Web.Pages.Basket .BasketItemViewModel.set_OldUnitPrice (Decimal)
                                        get_BuyerId()0150%0881088109210882min 17s0832min 0sMicrosoft.eShopWeb.Web.Pages.Basket .BasketViewModel.get_BuyerId()
                                        get_BasketModel()0210%0891089108910922min 17s0862min 0sMicrosoft.eShopWeb.Web.Pages.Basket .CheckoutModel.get_BasketModel()
                                        set_BasketModel(BasketViewModel)0280%0961096108610962min 17s0892min 0sMicrosoft.eShopWeb.Web.Pages.Basket .CheckoutModel.set_BasketModel (BasketViewModel)
                                        OnGet()0170%0990099008710992min 0s0902min 0sMicrosoft.eShopWeb.Web.Pages.Basket .CheckoutModel.OnGet()
                                        OnPost(Dictionary<String,Int32>)0300%04850485088104610min0872min 0sMicrosoft.eShopWeb.Web.Pages.Basket .CheckoutModel.OnPost(Dictionary<String ,Int32>)
                                        OnPost(CatalogItemViewModel)00166.67%0446055204220585min0882min 0sMicrosoft.eShopWeb.Web.Pages.Basket .IndexModel.OnPost(CatalogItemViewModel)
                                        OnPostUpdate(Dictionary<String,Int32>)0230%0573054309710556min0712min 0sMicrosoft.eShopWeb.Web.Pages.Basket .IndexModel.OnPostUpdate(Dictionary <String,Int32>)
                                        GetBasketViewModelAsync()00466.67%0456058202630537min0662min 0sMicrosoft.eShopWeb.Web.Pages.Shared .Components.BasketComponent.Basket .GetBasketViewModelAsync()
                                        MyAccount()0250%05350435046204313min0672min 0sMicrosoft.eShopWeb.Web.Controllers .ManageController.MyAccount()
                                        MyOrders()0240%05150445024303721min0682min 0sMicrosoft.eShopWeb.Web.Controllers .OrderController.MyOrders()
                                        set_Input(LoginModel+InputModel)0270%0971097109810972min 17s0722min 0sMicrosoft.eShopWeb.Web.Areas.Identity .Pages.Account.LoginModel.set_Input (LoginModel+InputModel)
                                        get_ExternalLogins()0220%0931093109910932min 17s0782min 0sMicrosoft.eShopWeb.Web.Areas.Identity .Pages.Account.LoginModel .get_ExternalLogins()
                                        OnGetAsync(String)00266.67%0466062202330528min0772min 0sMicrosoft.eShopWeb.Web.Areas.Identity .Pages.Account.LoginModel.OnGetAsync (String)
                                        get_Email()0260%0941094109610942min 17s0802min 0sMicrosoft.eShopWeb.Web.Areas.Identity .Pages.Account.LoginModel+InputModel .get_Email()
                                        set_Email(String)0290%0951095109310952min 17s0792min 0sMicrosoft.eShopWeb.Web.Areas.Identity .Pages.Account.LoginModel+InputModel .set_Email(String)
                                        get_Password()0140%0771086109410852min 17s0742min 0sMicrosoft.eShopWeb.Web.Areas.Identity .Pages.Account.LoginModel+InputModel .get_Password()
                                        set_Password(String)0840%0781077109510762min 17s0732min 0sMicrosoft.eShopWeb.Web.Areas.Identity .Pages.Account.LoginModel+InputModel .set_Password(String)
                                        get_RememberMe()0830%0791078108510772min 17s0762min 0sMicrosoft.eShopWeb.Web.Areas.Identity .Pages.Account.LoginModel+InputModel .get_RememberMe()
                                        set_RememberMe(Boolean)0380%0691067107010892min 17s0752min 0sMicrosoft.eShopWeb.Web.Areas.Identity .Pages.Account.LoginModel+InputModel .set_RememberMe(Boolean)
                                        PageNavClass(ViewContext,String)0870%0622059204020576min00018minMicrosoft.eShopWeb.Web.Views.Manage .ManageNavPages.PageNavClass(ViewContext ,String)
                                        Up(MigrationBuilder)0860%0053300533001150003h 46min00210minMicrosoft.eShopWeb.Infrastructure .Identity.Migrations .InitialIdentityModel.Up (MigrationBuilder)
                                        Up(MigrationBuilder)0820%0063200632000150013h 39min00310minMicrosoft.eShopWeb.Infrastructure.Data .Migrations.Initial.Up(MigrationBuilder)
                                        BuildTargetModel(ModelBuilder)0780%0017500175006120053h 22min0049minMicrosoft.eShopWeb.Infrastructure .Identity.Migrations .InitialIdentityModel.BuildTargetModel (ModelBuilder)
                                        BuildModel(ModelBuilder)0770%0007500275005120023h 22min0069minMicrosoft.eShopWeb.Infrastructure .Identity.Migrations .AppIdentityDbContextModelSnapshot .BuildModel(ModelBuilder)
                                        BuildTargetModel(ModelBuilder)0790%0037500375002140043h 22min0059minMicrosoft.eShopWeb.Infrastructure.Data .Migrations.Initial.BuildTargetModel (ModelBuilder)
                                        BuildModel(ModelBuilder)0810%0027500475004140063h 22min0079minMicrosoft.eShopWeb.Infrastructure.Data .Migrations.CatalogContextModelSnapshot .BuildModel(ModelBuilder)
                                        SeedAsync(CatalogContext,ILoggerFactory ,Nullable<Int32>)00856.25%010160377010602032min0116minMicrosoft.eShopWeb.Infrastructure.Data .CatalogContextSeed.SeedAsync (CatalogContext,ILoggerFactory,Nullable <Int32>)
                                        get_ActivePageKey()0800%0751074107610732min 17s0126minMicrosoft.eShopWeb.Web.Views.Manage .ManageNavPages.get_ActivePageKey()
                                        get_Index()0880%0761075107710742min 17s0146minMicrosoft.eShopWeb.Web.Views.Manage .ManageNavPages.get_Index()
                                        get_ChangePassword()0960%0801076107410782min 17s0136minMicrosoft.eShopWeb.Web.Views.Manage .ManageNavPages.get_ChangePassword()
                                        get_ExternalLogins()0950%0841083107110822min 17s0156minMicrosoft.eShopWeb.Web.Views.Manage .ManageNavPages.get_ExternalLogins()
                                        get_TwoFactorAuthentication()0970%0851084107210832min 17s0166minMicrosoft.eShopWeb.Web.Views.Manage .ManageNavPages .get_TwoFactorAuthentication()
                                        .ctor()0990%0652063207310614min 8s0196minMicrosoft.eShopWeb.ApplicationCore .Entities.BuyerAggregate.Buyer..ctor()
                                        FormatKey(String)0980%03880298022302630min0205minMicrosoft.eShopWeb.Web.Controllers .ManageController.FormatKey(String)
                                        Index(IndexViewModel)0940%009170081700870071h 29min0215minMicrosoft.eShopWeb.Web.Controllers .ManageController.Index(IndexViewModel)
                                        LoginWith2fa(LoginWith2faViewModel ,Boolean,String)0900%011160091601250091h 25min0225minMicrosoft.eShopWeb.Web.Controllers .AccountController.LoginWith2fa (LoginWith2faViewModel,Boolean,String)
                                        AddErrors(IdentityResult)0890%05050465051203126min0235minMicrosoft.eShopWeb.Web.Controllers .ManageController.AddErrors (IdentityResult)
                                        ConfigureInMemoryDatabases (IServiceCollection)00660%0525061202530653min 12s0274min 29sMicrosoft.eShopWeb.Web.Startup .ConfigureInMemoryDatabases (IServiceCollection)
                                        CreateOrderAsync(Int32,Address)0910%0151301213050202131min0284min 22sMicrosoft.eShopWeb.ApplicationCore .Services.OrderService.CreateOrderAsync (Int32,Address)
                                        ChangePassword(ChangePasswordViewModel)0930%0161301113017401246min0294min 22sMicrosoft.eShopWeb.Web.Controllers .ManageController.ChangePassword (ChangePasswordViewModel)
                                        EnableAuthenticator (EnableAuthenticatorViewModel)0920%017130131302140101h 0min0304min 22sMicrosoft.eShopWeb.Web.Controllers .ManageController.EnableAuthenticator (EnableAuthenticatorViewModel)
                                        set_IdentityGuid(String)0760%0861085108210682min 45s0324min 13sMicrosoft.eShopWeb.ApplicationCore .Entities.BuyerAggregate.Buyer .set_IdentityGuid(String)
                                        set_Code(String)0600%0811080108310792min 17s0314min 13sMicrosoft.eShopWeb.Web.ViewModels .Account.ResetPasswordViewModel.set_Code (String)
                                        Main(String[])0590%0191201512054201836min0354min 3sMicrosoft.eShopWeb.Web.Program.Main (String[])
                                        SetPassword(SetPasswordViewModel)0610%0201201412016401343min0344min 3sMicrosoft.eShopWeb.Web.Controllers .ManageController.SetPassword (SetPasswordViewModel)
                                        LinkLoginCallback()0630%0181201612018401156min0334min 3sMicrosoft.eShopWeb.Web.Controllers .ManageController.LinkLoginCallback()
                                        AddErrors(IdentityResult)0620%04950475049203920min0363min 45sMicrosoft.eShopWeb.Web.Controllers .AccountController.AddErrors (IdentityResult)
                                        SendVerificationEmail(IndexViewModel)0580%0211101711036301933min0373min 44sMicrosoft.eShopWeb.Web.Controllers .ManageController.SendVerificationEmail (IndexViewModel)
                                        set_StatusMessage(String)0540%0821081108410802min 17s0403min 35sMicrosoft.eShopWeb.Web.Controllers .ManageController.set_StatusMessage (String)
                                        GetBasketItemCountAsync(String)0530%0251001810035302330min0413min 26sMicrosoft.eShopWeb.ApplicationCore .Services.BasketService .GetBasketItemCountAsync(String)
                                        Down(MigrationBuilder)0550%0241002110081104113min0423min 26sMicrosoft.eShopWeb.Infrastructure.Data .Migrations.Initial.Down (MigrationBuilder)
                                        ExternalLogins()0570%0231002010013501442min0433min 26sMicrosoft.eShopWeb.Web.Controllers .ManageController.ExternalLogins()
                                        SetQuantities(Int32,Dictionary<String ,Int32>)0139.09%0221101910029302430min0443min 24sMicrosoft.eShopWeb.ApplicationCore .Services.BasketService.SetQuantities (Int32,Dictionary<String,Int32>)
                                        RemoveLogin(RemoveLoginViewModel)0560%02790239027302727min0463min 7sMicrosoft.eShopWeb.Web.Controllers .ManageController.RemoveLogin (RemoveLoginViewModel)
                                        EnableAuthenticator()0640%02890249028302827min0483min 7sMicrosoft.eShopWeb.Web.Controllers .ManageController.EnableAuthenticator()
                                        GenerateRecoveryCodes()0720%02990259033302927min0473min 7sMicrosoft.eShopWeb.Web.Controllers .ManageController.GenerateRecoveryCodes( )
                                        get_StatusMessage()0710%0831082107810812min 17s0493min 2sMicrosoft.eShopWeb.Web.Controllers .ManageController.get_StatusMessage()
                                        Register(RegisterViewModel,String)0730%03780318031303325min0562min 48sMicrosoft.eShopWeb.Web.Controllers .AccountController.Register (RegisterViewModel,String)
                                        ChangePassword()0750%03180348032303425min0522min 48sMicrosoft.eShopWeb.Web.Controllers .ManageController.ChangePassword()
                                        SetPassword()0740%03080278034303225min0532min 48sMicrosoft.eShopWeb.Web.Controllers .ManageController.SetPassword()
                                        Disable2fa()0700%03380268030303525min0552min 48sMicrosoft.eShopWeb.Web.Controllers .ManageController.Disable2fa()
                                        Detail(Int32)0660%03680308019401538min0542min 48sMicrosoft.eShopWeb.Web.Controllers .OrderController.Detail(Int32)
                                        .ctor(String)0650%0603050307910546min0572min 44sMicrosoft.eShopWeb.ApplicationCore .Specifications .CustomerOrdersWithItemsSpecification. .ctor(String)
                                        Down(MigrationBuilder)0670%04170407080104710min0592min 29sMicrosoft.eShopWeb.Infrastructure .Identity.Migrations .InitialIdentityModel.Down (MigrationBuilder)
                                        ConfirmEmail(String,String)0690%03970367015502230min0602min 29sMicrosoft.eShopWeb.Web.Controllers .AccountController.ConfirmEmail(String ,String)
                                        ResetAuthenticator()0680%04070357044204017min0582min 29sMicrosoft.eShopWeb.Web.Controllers .ManageController.ResetAuthenticator()
                                        SignIn(LoginViewModel,String)00950%014140387014501737min0612min 20sMicrosoft.eShopWeb.Web.Controllers .AccountController.SignIn(LoginViewModel ,String)
                                        NullBasket(IGuardClause,Int32,Basket)01050%0642090104520633min 21s0622min 12sArdalis.GuardClauses.BasketGuards .NullBasket(IGuardClause,Int32,Basket)
                                        AddInclude(String)0850%0741079107510722min 31s0632min 11sMicrosoft.eShopWeb.ApplicationCore .Specifications.BaseSpecification<T> .AddInclude(String)

                                        Statistics

                                        Stat   Percentage Coverage   # lines of code (LOC)   # lines of code not covered   Cyclomatic Complexity (CC)   Debt   Annual Interest
                                        Sum:836.171 1521 0824497d 0h1d 3h
                                        Average:3.514.844.551.8914min2min 53s
                                        Minimum:00012min 0s2min 0s
                                        Maximum:66.677575153h 46min18min
                                        Standard deviation:13.9911.3411.232.3536min2min 12s
                                        Variance:195.66128.7126.075.54166d4h 51min
                                        warning   Rule Violated:    New Methods should be tested

                                        40 methods matched

                                        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
                                        40 methodsPercentage Coverage# lines of code (LOC)# lines of code not coveredDebtSeverityFull Name
                                        BuildTargetModel(ModelBuilder)130%007500750210min13HighMicrosoft.eShopWeb.Infrastructure.Data .Migrations.AddExtraConstraints .BuildTargetModel(ModelBuilder)
                                        ListAllRegisteredServices (IApplicationBuilder,LinkGenerator)0011.54%012601230010min14HighMicrosoft.eShopWeb.Web.Startup .ListAllRegisteredServices (IApplicationBuilder,LinkGenerator)
                                        OnPostAsync(String)140%021402140110min12HighMicrosoft.eShopWeb.Web.Areas.Identity .Pages.Account.LoginModel.OnPostAsync (String)
                                        CheckHealthAsync(HealthCheckContext ,CancellationToken)110%039039039min10HighMicrosoft.eShopWeb.Web.HealthChecks .ApiHealthCheck.CheckHealthAsync (HealthCheckContext,CancellationToken)
                                        CheckHealthAsync(HealthCheckContext ,CancellationToken)120%068068068min11HighMicrosoft.eShopWeb.Web.HealthChecks .HomePageHealthCheck.CheckHealthAsync (HealthCheckContext,CancellationToken)
                                        .ctor(IBasketService ,IBasketViewModelService,IUriComposer ,SignInManager<ApplicationUser> ,IOrderService)150%048048048min18HighMicrosoft.eShopWeb.Web.Pages.Basket .CheckoutModel..ctor(IBasketService ,IBasketViewModelService,IUriComposer ,SignInManager<ApplicationUser> ,IOrderService)
                                        GetOrSetBasketCookieAndUserName()180%058058058min19HighMicrosoft.eShopWeb.Web.Pages.Basket .CheckoutModel .GetOrSetBasketCookieAndUserName()
                                        Up(MigrationBuilder)190%086086086min17HighMicrosoft.eShopWeb.Infrastructure.Data .Migrations.AddExtraConstraints.Up (MigrationBuilder)
                                        Down(MigrationBuilder)160%076076076min15HighMicrosoft.eShopWeb.Infrastructure.Data .Migrations.AddExtraConstraints.Down (MigrationBuilder)
                                        OnPost(Dictionary<String,Int32>)170%115115115min16HighMicrosoft.eShopWeb.Web.Pages.Basket .CheckoutModel.OnPost(Dictionary<String ,Int32>)
                                        MyAccount()100%095095095min03HighMicrosoft.eShopWeb.Web.Controllers .ManageController.MyAccount()
                                        MyOrders()030%105105105min04HighMicrosoft.eShopWeb.Web.Controllers .OrderController.MyOrders()
                                        SetBasketModelAsync()040%124124124min 40s02HighMicrosoft.eShopWeb.Web.Pages.Basket .CheckoutModel.SetBasketModelAsync()
                                        .ctor(IHttpContextAccessor,LinkGenerator )010%163163163min 46s00HighMicrosoft.eShopWeb.Web.HealthChecks .ApiHealthCheck..ctor (IHttpContextAccessor,LinkGenerator)
                                        GetBrands()020%153153153min 46s01HighMicrosoft.eShopWeb.Web.Services .CachedCatalogViewModelService.GetBrands ()
                                        GetTypes()050%133133133min 46s08HighMicrosoft.eShopWeb.Web.Services .CachedCatalogViewModelService.GetTypes( )
                                        OnPostUpdate(Dictionary<String,Int32>)080%143143143min 46s09HighMicrosoft.eShopWeb.Web.Pages.Basket .IndexModel.OnPostUpdate(Dictionary <String,Int32>)
                                        .ctor(IHttpContextAccessor)090%172172172min 53s07HighMicrosoft.eShopWeb.Web.HealthChecks .HomePageHealthCheck..ctor (IHttpContextAccessor)
                                        set_OrderBy(Expression<Func<T,Object>>)060%181181182min 0s05HighMicrosoft.eShopWeb.ApplicationCore .Specifications.BaseSpecification<T> .set_OrderBy(Expression<Func<T,Object>>)
                                        set_OrderByDescending(Expression<Func<T ,Object>>)070%191191192min 0s06HighMicrosoft.eShopWeb.ApplicationCore .Specifications.BaseSpecification<T> .set_OrderByDescending(Expression<Func<T ,Object>>)
                                        ApplyOrderBy(Expression<Func<T,Object>>)330%331331332min 0s33HighMicrosoft.eShopWeb.ApplicationCore .Specifications.BaseSpecification<T> .ApplyOrderBy(Expression<Func<T,Object>> )
                                        ApplyOrderByDescending(Expression<Func<T ,Object>>)340%341341342min 0s34HighMicrosoft.eShopWeb.ApplicationCore .Specifications.BaseSpecification<T> .ApplyOrderByDescending(Expression<Func <T,Object>>)
                                        get_RequestId()320%311311312min 0s32HighMicrosoft.eShopWeb.Web.Pages.ErrorModel .get_RequestId()
                                        set_RequestId(String)300%321321322min 0s30HighMicrosoft.eShopWeb.Web.Pages.ErrorModel .set_RequestId(String)
                                        get_ShowRequestId()310%351351352min 0s31HighMicrosoft.eShopWeb.Web.Pages.ErrorModel .get_ShowRequestId()
                                        OnGet()380%381381382min 0s38HighMicrosoft.eShopWeb.Web.Pages.ErrorModel .OnGet()
                                        get_CatalogItemId()390%391391392min 0s39HighMicrosoft.eShopWeb.Web.Pages.Basket .BasketItemViewModel.get_CatalogItemId()
                                        get_OldUnitPrice()370%361361362min 0s37HighMicrosoft.eShopWeb.Web.Pages.Basket .BasketItemViewModel.get_OldUnitPrice()
                                        set_OldUnitPrice(Decimal)350%371371372min 0s35HighMicrosoft.eShopWeb.Web.Pages.Basket .BasketItemViewModel.set_OldUnitPrice (Decimal)
                                        get_BuyerId()360%301301302min 0s36HighMicrosoft.eShopWeb.Web.Pages.Basket .BasketViewModel.get_BuyerId()
                                        get_BasketModel()230%231231232min 0s23HighMicrosoft.eShopWeb.Web.Pages.Basket .CheckoutModel.get_BasketModel()
                                        set_BasketModel(BasketViewModel)240%241241242min 0s24HighMicrosoft.eShopWeb.Web.Pages.Basket .CheckoutModel.set_BasketModel (BasketViewModel)
                                        set_Input(LoginModel+InputModel)220%211211212min 0s22HighMicrosoft.eShopWeb.Web.Areas.Identity .Pages.Account.LoginModel.set_Input (LoginModel+InputModel)
                                        get_ExternalLogins()200%221221222min 0s20HighMicrosoft.eShopWeb.Web.Areas.Identity .Pages.Account.LoginModel .get_ExternalLogins()
                                        get_Email()210%251251252min 0s21HighMicrosoft.eShopWeb.Web.Areas.Identity .Pages.Account.LoginModel+InputModel .get_Email()
                                        set_Email(String)280%281281282min 0s28HighMicrosoft.eShopWeb.Web.Areas.Identity .Pages.Account.LoginModel+InputModel .set_Email(String)
                                        get_Password()290%291291292min 0s29HighMicrosoft.eShopWeb.Web.Areas.Identity .Pages.Account.LoginModel+InputModel .get_Password()
                                        set_Password(String)270%261261262min 0s27HighMicrosoft.eShopWeb.Web.Areas.Identity .Pages.Account.LoginModel+InputModel .set_Password(String)
                                        get_RememberMe()250%271271272min 0s25HighMicrosoft.eShopWeb.Web.Areas.Identity .Pages.Account.LoginModel+InputModel .get_RememberMe()
                                        set_RememberMe(Boolean)260%201201202min 0s26HighMicrosoft.eShopWeb.Web.Areas.Identity .Pages.Account.LoginModel+InputModel .set_RememberMe(Boolean)
                                        warning   Rule Violated:    Methods refactored should be tested

                                        4 methods matched

                                        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
                                        4 methodsPercentage Coverage# lines of code (LOC)# lines of code not coveredDebtSeverityFull Name
                                        BuildModel(ModelBuilder)10%075075010min1HighMicrosoft.eShopWeb.Infrastructure.Data .Migrations.CatalogContextModelSnapshot .BuildModel(ModelBuilder)
                                        ConfirmEmail(String,String)00%171717min0HighMicrosoft.eShopWeb.Web.Controllers .AccountController.ConfirmEmail(String ,String)
                                        .ctor(String)30%232323min 46s3HighMicrosoft.eShopWeb.ApplicationCore .Specifications .CustomerOrdersWithItemsSpecification. .ctor(String)
                                        SignOut()20%323232min 53s2HighMicrosoft.eShopWeb.Web.Controllers .AccountController.SignOut()
                                        warning   Rule Violated:    Assemblies Namespaces and Types should be tested

                                        21 code elements parent matched

                                        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
                                        21 code elements parent# lines of code not coveredDebtSeverityFull Name
                                        CheckoutModel0427064min 0s06LowMicrosoft.eShopWeb.Web.Pages.Basket .CheckoutModel
                                        Microsoft.eShopWeb.Web.HealthChecks0522054min 0s05LowMicrosoft.eShopWeb.Web.HealthChecks
                                        ResetPasswordViewModel128074min 0s07LowMicrosoft.eShopWeb.Web.ViewModels .Account.ResetPasswordViewModel
                                        LoginWith2faViewModel136094min 0s09LowMicrosoft.eShopWeb.Web.ViewModels .Account.LoginWith2faViewModel
                                        RegisterViewModel146084min 0s08LowMicrosoft.eShopWeb.Web.ViewModels .Account.RegisterViewModel
                                        LoginModel+InputModel156014min 0s01LowMicrosoft.eShopWeb.Web.Areas.Identity .Pages.Account.LoginModel+InputModel
                                        ErrorModel164004min 0s00LowMicrosoft.eShopWeb.Web.Pages.ErrorModel
                                        Microsoft.eShopWeb.Infrastructure.Data .Migrations00279024min 0s02LowMicrosoft.eShopWeb.Infrastructure.Data .Migrations
                                        Microsoft.eShopWeb.Infrastructure .Identity.Migrations01190044min 0s04LowMicrosoft.eShopWeb.Infrastructure .Identity.Migrations
                                        ManageController02189034min 0s03LowMicrosoft.eShopWeb.Web.Controllers .ManageController
                                        Microsoft.eShopWeb.Web.ViewModels.Manage0350104min 0s10LowMicrosoft.eShopWeb.Web.ViewModels.Manage
                                        OrderService0617174min 0s17LowMicrosoft.eShopWeb.ApplicationCore .Services.OrderService
                                        OrderController0715164min 0s16LowMicrosoft.eShopWeb.Web.Controllers .OrderController
                                        Microsoft.eShopWeb.ApplicationCore .Entities.BuyerAggregate0814184min 0s18LowMicrosoft.eShopWeb.ApplicationCore .Entities.BuyerAggregate
                                        OrderViewModel0913204min 0s20LowMicrosoft.eShopWeb.Web.ViewModels .OrderViewModel
                                        Microsoft.eShopWeb.Web.Views.Manage1012194min 0s19LowMicrosoft.eShopWeb.Web.Views.Manage
                                        OrderItemViewModel1112124min 0s12LowMicrosoft.eShopWeb.Web.ViewModels .OrderItemViewModel
                                        CustomerOrdersWithItemsSpecification173114min 0s11LowMicrosoft.eShopWeb.ApplicationCore .Specifications .CustomerOrdersWithItemsSpecification
                                        Microsoft.AspNetCore.Mvc182134min 0s13LowMicrosoft.AspNetCore.Mvc
                                        Microsoft.eShopWeb.Infrastructure .Services201154min 0s15LowMicrosoft.eShopWeb.Infrastructure .Services
                                        EmailSenderExtensions191144min 0s14LowMicrosoft.eShopWeb.Web.Services .EmailSenderExtensions

                                        Statistics

                                        Stat   # lines of code not covered   Debt   Severity
                                        Sum:8771h 24min-
                                        Average:41.764min 0s-
                                        Minimum:14min 0s-
                                        Maximum:2794min 0s-
                                        Standard deviation:750min 0s-
                                        Variance:5 6250min 0s-
                                        warning   Rule Violated:    Types almost 100% tested should be 100% tested

                                        2 types matched

                                        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
                                        2 typesPercentage Coverage# lines of code (LOC)# lines of code not coveredmethodsCulpritDebtSeverityFull Name
                                        Order096.15%1261111 method12min 0s0HighMicrosoft.eShopWeb.ApplicationCore .Entities.OrderAggregate.Order
                                        CatalogContext195.83%0480202 methods02min 56s1HighMicrosoft.eShopWeb.Infrastructure.Data .CatalogContext
                                        warning   Rule Violated:    Namespaces almost 100% tested should be 100% tested

                                        1 namespace matched

                                        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
                                        1 namespacePercentage Coverage# lines of code (LOC)# lines of code not coveredmethodsCulpritDebtSeverityFull Name
                                        Microsoft.eShopWeb.ApplicationCore .Entities.OrderAggregate098.53%0680101 method02min 0s0HighMicrosoft.eShopWeb.ApplicationCore .Entities.OrderAggregate
                                        warning   Rule Violated:    Types 100% covered should be tagged with FullCoveredAttribute

                                        27 types matched

                                        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
                                        27 types# lines of code (LOC)DebtSeverityFull Name
                                        BasketWithItemsSpecification144093min 0s09LowMicrosoft.eShopWeb.ApplicationCore .Specifications .BasketWithItemsSpecification
                                        CatalogFilterPaginatedSpecification182083min 0s08LowMicrosoft.eShopWeb.ApplicationCore .Specifications .CatalogFilterPaginatedSpecification
                                        Address0217073min 0s07LowMicrosoft.eShopWeb.ApplicationCore .Entities.OrderAggregate.Address
                                        CatalogItemOrdered0414123min 0s12LowMicrosoft.eShopWeb.ApplicationCore .Entities.OrderAggregate .CatalogItemOrdered
                                        OrderItem0911113min 0s11LowMicrosoft.eShopWeb.ApplicationCore .Entities.OrderAggregate.OrderItem
                                        Basket0811103min 0s10LowMicrosoft.eShopWeb.ApplicationCore .Entities.BasketAggregate.Basket
                                        AppIdentityDbContext232063min 0s06LowMicrosoft.eShopWeb.Infrastructure .Identity.AppIdentityDbContext
                                        AppIdentityDbContextSeed242023min 0s02LowMicrosoft.eShopWeb.Infrastructure .Identity.AppIdentityDbContextSeed
                                        EfRepository<T>0514013min 0s01LowMicrosoft.eShopWeb.Infrastructure.Data .EfRepository<T>
                                        OrderRepository212003min 0s00LowMicrosoft.eShopWeb.Infrastructure.Data .OrderRepository
                                        BasketViewModelService0128053min 0s05LowMicrosoft.eShopWeb.Web.Services .BasketViewModelService
                                        CatalogViewModelService0039043min 0s04LowMicrosoft.eShopWeb.Web.Services .CatalogViewModelService
                                        IndexModel126033min 0s03LowMicrosoft.eShopWeb.Web.Pages.IndexModel
                                        IdentityHostingStartup251133min 0s13LowMicrosoft.eShopWeb.Web.Areas.Identity .IdentityHostingStartup
                                        CatalogSettings222233min 0s23LowMicrosoft.eShopWeb.CatalogSettings
                                        CatalogFilterSpecification261223min 0s22LowMicrosoft.eShopWeb.ApplicationCore .Specifications .CatalogFilterSpecification
                                        UriComposer153213min 0s21LowMicrosoft.eShopWeb.ApplicationCore .Services.UriComposer
                                        BaseEntity172263min 0s26LowMicrosoft.eShopWeb.ApplicationCore .Entities.BaseEntity
                                        CatalogBrand162253min 0s25LowMicrosoft.eShopWeb.ApplicationCore .Entities.CatalogBrand
                                        CatalogItem0316243min 0s24LowMicrosoft.eShopWeb.ApplicationCore .Entities.CatalogItem
                                        CatalogType202203min 0s20LowMicrosoft.eShopWeb.ApplicationCore .Entities.CatalogType
                                        BasketItem116163min 0s16LowMicrosoft.eShopWeb.ApplicationCore .Entities.BasketAggregate.BasketItem
                                        BasketComponentViewModel192153min 0s15LowMicrosoft.eShopWeb.Web.ViewModels .BasketComponentViewModel
                                        CatalogIndexViewModel0712143min 0s14LowMicrosoft.eShopWeb.Web.ViewModels .CatalogIndexViewModel
                                        CatalogItemViewModel108193min 0s19LowMicrosoft.eShopWeb.Web.ViewModels .CatalogItemViewModel
                                        PaginationInfoViewModel0612183min 0s18LowMicrosoft.eShopWeb.Web.ViewModels .PaginationInfoViewModel
                                        CatalogController135173min 0s17LowMicrosoft.eShopWeb.Web.Controllers.Api .CatalogController
                                        warning   Rule Violated:    Methods should have a low C.R.A.P score

                                        4 methods matched

                                        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
                                        4 methodsCRAPCCPercentage Coverage# lines of code (LOC)DebtSeverityFull Name
                                        OnPostAsync(String)3423610%314310min1HighMicrosoft.eShopWeb.Web.Areas.Identity .Pages.Account.LoginModel.OnPostAsync (String)
                                        Up(MigrationBuilder)124011500%033122min0HighMicrosoft.eShopWeb.Infrastructure .Identity.Migrations .InitialIdentityModel.Up (MigrationBuilder)
                                        Up(MigrationBuilder)024001530%132022min3HighMicrosoft.eShopWeb.Infrastructure.Data .Migrations.Initial.Up(MigrationBuilder)
                                        Index(IndexViewModel)2562720%217211min2HighMicrosoft.eShopWeb.Web.Controllers .ManageController.Index(IndexViewModel)

                                        Dead Code
                                        310

                                        warning   Rule Violated:    Potentially Dead Methods

                                        4 methods matched

                                        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
                                        4 methodsdepthMethodsCallingMeDebtAnnual InterestFull Name
                                        .ctor()101no method110min19minMicrosoft.eShopWeb.ApplicationCore .Entities.OrderAggregate.Address..ctor()
                                        .ctor()000no method010min29minMicrosoft.eShopWeb.ApplicationCore .Entities.OrderAggregate .CatalogItemOrdered..ctor()
                                        .ctor()303no method310min011minMicrosoft.eShopWeb.ApplicationCore .Entities.OrderAggregate.Order..ctor()
                                        .ctor()202no method210min39minMicrosoft.eShopWeb.ApplicationCore .Entities.OrderAggregate.OrderItem..ctor ()

                                        Visibility
                                        910

                                        warning   Rule Violated:    Avoid publicly visible constant fields

                                        3 fields matched

                                        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
                                        3 fieldsDebtSeverityFull Name
                                        ITEMS_PER_PAGE00min 30s0MediumMicrosoft.eShopWeb.Web.Constants .ITEMS_PER_PAGE
                                        DEFAULT_USERNAME10min 30s1MediumMicrosoft.eShopWeb.Web.Constants .DEFAULT_USERNAME
                                        BASKET_COOKIENAME20min 30s2MediumMicrosoft.eShopWeb.Web.Constants .BASKET_COOKIENAME

                                        Immutability
                                        920

                                        warning   Rule Violated:    Fields should be marked as ReadOnly when possible

                                        1 field matched

                                        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
                                        1 fieldMethodsReadingMeButNotAssigningMeMethodsAssigningMeDebtSeverityFull Name
                                        _paymentMethods02 methods0no method05min0MediumMicrosoft.eShopWeb.ApplicationCore .Entities.BuyerAggregate.Buyer ._paymentMethods
                                        warning   Rule Violated:    Do not declare read only mutable reference types

                                        1 field matched

                                        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
                                        1 fieldFieldTypeFieldVisibilityDebtSeverityFull Name
                                        _dbContextCatalogContext0Protected03min 0s0LowMicrosoft.eShopWeb.Infrastructure.Data .EfRepository<T>._dbContext

                                        Naming Conventions
                                        1631

                                        warning   Rule Violated:    Static fields naming convention

                                        4 fields matched

                                        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
                                        4 fieldsSize of instanceDebtSeverityFull Name
                                        _brandsKey1N/A13min 0s1MediumMicrosoft.eShopWeb.Web.Services .CachedCatalogViewModelService ._brandsKey
                                        _typesKey0N/A03min 0s0MediumMicrosoft.eShopWeb.Web.Services .CachedCatalogViewModelService._typesKey
                                        _itemsKeyTemplate3N/A33min 0s3MediumMicrosoft.eShopWeb.Web.Services .CachedCatalogViewModelService ._itemsKeyTemplate
                                        _defaultCacheDuration2N/A23min 0s2MediumMicrosoft.eShopWeb.Web.Services .CachedCatalogViewModelService ._defaultCacheDuration
                                        warningCritical   Critical Rule Violated:    Avoid having different types with same name

                                        1 type matched

                                        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
                                        1 typetypesDebtSeverityFull Name
                                        Basket02 types010min0HighMicrosoft.eShopWeb.ApplicationCore .Entities.BasketAggregate.Basket
                                        warning   Rule Violated:    Avoid prefixing type name with parent namespace name

                                        4 types matched

                                        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
                                        4 typesnamespaceNameDebtSeverityFull Name
                                        BasketItemViewModelBasket110min1MediumMicrosoft.eShopWeb.Web.Pages.Basket .BasketItemViewModel
                                        BasketViewModelBasket010min0MediumMicrosoft.eShopWeb.Web.Pages.Basket .BasketViewModel
                                        IdentityHostingStartupIdentity310min3MediumMicrosoft.eShopWeb.Web.Areas.Identity .IdentityHostingStartup
                                        ManageNavPagesManage210min2MediumMicrosoft.eShopWeb.Web.Views.Manage .ManageNavPages
                                        warning   Rule Violated:    Avoid naming types and namespaces with the same identifier

                                        2 types matched

                                        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
                                        2 typesnamespacesDebtSeverityFull Name
                                        Basket01 namespace012min0HighMicrosoft.eShopWeb.Web.Pages.Shared .Components.BasketComponent.Basket
                                        Basket11 namespace112min1HighMicrosoft.eShopWeb.ApplicationCore .Entities.BasketAggregate.Basket

                                        Source Files Organization
                                        330

                                        warning   Rule Violated:    Namespace name should correspond to file location

                                        4 types matched

                                        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
                                        4 typesdirShouldContainsourceFilePathnbSourceDeclConcernedjustACaseSensitiveIssueDebtSeverityFull Name
                                        BasketGuards GuardClausesC:\My\NDepend\Tests\On_eShopOnWeb\3Apr2019\src\ApplicationCore\Exceptions\GuardExtensions.cs11False13min 0s1MediumArdalis.GuardClauses.BasketGuards
                                        CatalogSettings eShopWebC:\My\NDepend\Tests\On_eShopOnWeb\3Apr2019\src\ApplicationCore\CatalogSettings.cs01False03min 0s0MediumMicrosoft.eShopWeb.CatalogSettings
                                        UrlHelperExtensions AspNetCore MvcC:\My\NDepend\Tests\On_eShopOnWeb\3Apr2019\src\Web\Extensions\UrlHelperExtensions.cs31False33min 0s3MediumMicrosoft.AspNetCore.Mvc .UrlHelperExtensions
                                        EmailSenderExtensions Web ServicesC:\My\NDepend\Tests\On_eShopOnWeb\3Apr2019\src\Web\Extensions\EmailSenderExtensions.cs21False23min 0s2MediumMicrosoft.eShopWeb.Web.Services .EmailSenderExtensions
                                        warning   Rule Violated:    Types with source files stored in the same directory, should be declared in the same namespace

                                        2 namespaces matched

                                        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
                                        2 namespacestypesOutOfMainNamespacetypesInMainNamespaceDebtSeverityFull Name
                                        Ardalis.GuardClauses01 type01 type07min0HighArdalis.GuardClauses
                                        Microsoft.AspNetCore.Mvc11 type11 type17min1HighMicrosoft.AspNetCore.Mvc
                                        warning   Rule Violated:    Types declared in the same namespace, should have their source files stored in the same directory

                                        1 namespace matched

                                        • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
                                        1 namespacetypesDeclaredOutOfMainDirmainDirtypesDeclaredInMainDirDebtSeverityFull Name
                                        Microsoft.eShopWeb.Web.Services01 typeC:\My\NDepend\Tests\On_eShopOnWeb\3Apr2019\src\Web\Services03 types07min0HighMicrosoft.eShopWeb.Web.Services

                                        This group contains children groups
                                        .NET Framework Usage
                                        2320

                                          System
                                          910

                                          warning   Rule Violated:    Do not raise too general exception types

                                          21 methods matched

                                          • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
                                          21 methodsexceptionsCreatedDebtSeverityFull Name
                                          LoginWith2fa(Boolean,String)061 type0620min06HighMicrosoft.eShopWeb.Web.Controllers .AccountController.LoginWith2fa(Boolean ,String)
                                          LoginWith2fa(LoginWith2faViewModel ,Boolean,String)051 type0520min05HighMicrosoft.eShopWeb.Web.Controllers .AccountController.LoginWith2fa (LoginWith2faViewModel,Boolean,String)
                                          ConfirmEmail(String,String)071 type0720min07HighMicrosoft.eShopWeb.Web.Controllers .AccountController.ConfirmEmail(String ,String)
                                          ResetPassword(String)091 type0920min09HighMicrosoft.eShopWeb.Web.Controllers .AccountController.ResetPassword(String)
                                          MyAccount()081 type0820min08HighMicrosoft.eShopWeb.Web.Controllers .ManageController.MyAccount()
                                          Index(IndexViewModel)011 type0120min01HighMicrosoft.eShopWeb.Web.Controllers .ManageController.Index(IndexViewModel)
                                          SendVerificationEmail(IndexViewModel)001 type0020min00HighMicrosoft.eShopWeb.Web.Controllers .ManageController.SendVerificationEmail (IndexViewModel)
                                          ChangePassword()021 type0220min02HighMicrosoft.eShopWeb.Web.Controllers .ManageController.ChangePassword()
                                          ChangePassword(ChangePasswordViewModel)041 type0420min04HighMicrosoft.eShopWeb.Web.Controllers .ManageController.ChangePassword (ChangePasswordViewModel)
                                          SetPassword()031 type0320min03HighMicrosoft.eShopWeb.Web.Controllers .ManageController.SetPassword()
                                          SetPassword(SetPasswordViewModel)101 type1020min10HighMicrosoft.eShopWeb.Web.Controllers .ManageController.SetPassword (SetPasswordViewModel)
                                          ExternalLogins()171 type1720min17HighMicrosoft.eShopWeb.Web.Controllers .ManageController.ExternalLogins()
                                          LinkLoginCallback()161 type1620min16HighMicrosoft.eShopWeb.Web.Controllers .ManageController.LinkLoginCallback()
                                          RemoveLogin(RemoveLoginViewModel)181 type1820min18HighMicrosoft.eShopWeb.Web.Controllers .ManageController.RemoveLogin (RemoveLoginViewModel)
                                          TwoFactorAuthentication()201 type2020min20HighMicrosoft.eShopWeb.Web.Controllers .ManageController .TwoFactorAuthentication()
                                          Disable2faWarning()191 type1920min19HighMicrosoft.eShopWeb.Web.Controllers .ManageController.Disable2faWarning()
                                          Disable2fa()121 type1220min12HighMicrosoft.eShopWeb.Web.Controllers .ManageController.Disable2fa()
                                          EnableAuthenticator()111 type1120min11HighMicrosoft.eShopWeb.Web.Controllers .ManageController.EnableAuthenticator()
                                          EnableAuthenticator (EnableAuthenticatorViewModel)131 type1320min13HighMicrosoft.eShopWeb.Web.Controllers .ManageController.EnableAuthenticator (EnableAuthenticatorViewModel)
                                          ResetAuthenticator()151 type1520min15HighMicrosoft.eShopWeb.Web.Controllers .ManageController.ResetAuthenticator()
                                          GenerateRecoveryCodes()141 type1420min14HighMicrosoft.eShopWeb.Web.Controllers .ManageController.GenerateRecoveryCodes( )

                                          System.Collections
                                          010

                                          warning   Rule Violated:    Collection properties should be read only

                                          3 methods matched

                                          • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
                                          3 methodsCollectionTypeDebtSeverityFull Name
                                          set_ExternalLogins(IList <AuthenticationScheme>)IList<T>010min0MediumMicrosoft.eShopWeb.Web.Areas.Identity .Pages.Account.LoginModel .set_ExternalLogins(IList <AuthenticationScheme>)
                                          set_CurrentLogins(IList<UserLoginInfo>)IList<T>110min1MediumMicrosoft.eShopWeb.Web.ViewModels.Manage .ExternalLoginsViewModel .set_CurrentLogins(IList<UserLoginInfo>)
                                          set_OtherLogins(IList <AuthenticationScheme>)IList<T>210min2MediumMicrosoft.eShopWeb.Web.ViewModels.Manage .ExternalLoginsViewModel.set_OtherLogins (IList<AuthenticationScheme>)

                                          Hot Spots

                                          ok   Code Query:    Types Hot Spots

                                          70 types matched

                                          70 typesDebtIssuesAnnual InterestBreaking Point# lines of code (LOC)DebtRatingDebtRatioFull Name
                                          ManageController002d 2h0048 issues001d 0h11841d0018905E0458.57Microsoft.eShopWeb.Web.Controllers .ManageController
                                          InitialIdentityModel017h 40min314 issues2642min003 945d0211521D0844.42Microsoft.eShopWeb.Infrastructure .Identity.Migrations .InitialIdentityModel
                                          Initial027h 37min364 issues2543min013 864d0111722D1043.42Microsoft.eShopWeb.Infrastructure.Data .Migrations.Initial
                                          AccountController035h 58min0119 issues052h 32min09855d047723D0943.66Microsoft.eShopWeb.Web.Controllers .AccountController
                                          AddExtraConstraints044h 22min169 issues014h 13min37377d038720D1833.07Microsoft.eShopWeb.Infrastructure.Data .Migrations.AddExtraConstraints
                                          LoginModel052h 23min1110 issues062h 32min38343d083117D1633.97Microsoft.eShopWeb.Web.Areas.Identity .Pages.Account.LoginModel
                                          CheckoutModel061h 55min0216 issues023h 23min48208d102718D1931.89Microsoft.eShopWeb.Web.Pages.Basket .CheckoutModel
                                          BasketService071h 26min354 issues3028min081 085d064436C3218.11Microsoft.eShopWeb.ApplicationCore .Services.BasketService
                                          OrderController081h 23min236 issues2446min13652d181519D0648.39Microsoft.eShopWeb.Web.Controllers .OrderController
                                          BaseSpecification<T>091h 21min1310 issues092h 4min43237d122535C3317.71Microsoft.eShopWeb.ApplicationCore .Specifications.BaseSpecification<T>
                                          EfRepository<T>101h 16min159 issues072h 20min49198d211425D1435.19Microsoft.eShopWeb.Infrastructure.Data .EfRepository<T>
                                          CachedCatalogViewModelService1154min1210 issues101h 54min54174d151726D2621.73Microsoft.eShopWeb.Web.Services .CachedCatalogViewModelService
                                          ApiHealthCheck1249min295 issues111h 45min55173d271216D1733.95Microsoft.eShopWeb.Web.HealthChecks .ApiHealthCheck
                                          HomePageHealthCheck1344min285 issues121h 44min57155d301008D1236.95Microsoft.eShopWeb.Web.HealthChecks .HomePageHealthCheck
                                          LoginModel+InputModel1441min0315 issues033h 14min6878d41609D2228.45Microsoft.eShopWeb.Web.Areas.Identity .Pages.Account.LoginModel+InputModel
                                          OrderService1541min413 issues566min052 352d161706D2820.67Microsoft.eShopWeb.ApplicationCore .Services.OrderService
                                          ManageNavPages1639min0712 issues201h 2min44230d251237C3019.14Microsoft.eShopWeb.Web.Views.Manage .ManageNavPages
                                          SpecificationEvaluator<T>1738min383 issues181h 18min53178d201414D2326.26Microsoft.eShopWeb.Infrastructure.Data .SpecificationEvaluator<T>
                                          ExternalLoginsViewModel1838min1010 issues3820min12700d34815D2920.19Microsoft.eShopWeb.Web.ViewModels.Manage .ExternalLoginsViewModel
                                          CustomerOrdersWithItemsSpecification1936min305 issues211h 2min46212d52300E0384.61Microsoft.eShopWeb.ApplicationCore .Specifications .CustomerOrdersWithItemsSpecification
                                          Program2036min661 issue614min 3s033 251d231311D2524.62Microsoft.eShopWeb.Web.Program
                                          OrderViewModel2133min0514 issues3126min21475d241338C4511.88Microsoft.eShopWeb.Web.ViewModels .OrderViewModel
                                          ErrorModel2233min0810 issues042h 34min6779d49412D1535.11Microsoft.eShopWeb.Web.Pages.ErrorModel
                                          BasketItemViewModel2332min178 issues082h 8min6393d191434C4910.29Microsoft.eShopWeb.Web.Pages.Basket .BasketItemViewModel
                                          CatalogContextSeed2432min671 issue556min061 827d131930C3815.2Microsoft.eShopWeb.Infrastructure.Data .CatalogContextSeed
                                          IndexModel2532min275 issues151h 28min58133d073157B598Microsoft.eShopWeb.Web.Pages.Basket .IndexModel
                                          OrderItemViewModel2631min0613 issues3224min20480d261232C4711.42Microsoft.eShopWeb.Web.ViewModels .OrderItemViewModel
                                          CatalogContext2730min0414 issues131h 40min61111d054868A664.59Microsoft.eShopWeb.Infrastructure.Data .CatalogContext
                                          Basket2829min463 issues171h 22min59132d171633C3914.99Microsoft.eShopWeb.Web.Pages.Shared .Components.BasketComponent.Basket
                                          Order2929min344 issues141h 34min60115d112660B588.4Microsoft.eShopWeb.ApplicationCore .Entities.OrderAggregate.Order
                                          Basket3025min453 issues2840min45228d281131C3715.23Microsoft.eShopWeb.ApplicationCore .Entities.BasketAggregate.Basket
                                          BasketViewModel3124min324 issues161h 24min62105d32947C4113.39Microsoft.eShopWeb.Web.Pages.Basket .BasketViewModel
                                          BasketViewModelService3223min473 issues2740min47209d092861B617.19Microsoft.eShopWeb.Web.Services .BasketViewModelService
                                          IndexViewModel3322min0910 issues4020min27419d311059B519.85Microsoft.eShopWeb.Web.ViewModels.Manage .IndexViewModel
                                          ResetPasswordViewModel3422min149 issues4318min23448d33849C4611.78Microsoft.eShopWeb.Web.ViewModels .Account.ResetPasswordViewModel
                                          Buyer3521min246 issues4218min35414d36846C3615.25Microsoft.eShopWeb.ApplicationCore .Entities.BuyerAggregate.Buyer
                                          IOrderRepository3620min532 issues2940min50182d66N/A04E01115.74Microsoft.eShopWeb.ApplicationCore .Interfaces.IOrderRepository
                                          IAggregateRoot3719min691 issue692min 0s023 467d67N/A03E00219.91Microsoft.eShopWeb.ApplicationCore .Interfaces.IAggregateRoot
                                          ChangePasswordViewModel3818min188 issues4416min26419d35858B529.67Microsoft.eShopWeb.Web.ViewModels.Manage .ChangePasswordViewModel
                                          LoginWith2faViewModel4017min207 issues5012min16541d43640C4412.11Microsoft.eShopWeb.Web.ViewModels .Account.LoginWith2faViewModel
                                          RegisterViewModel3917min217 issues4912min15541d44639C4312.11Microsoft.eShopWeb.Web.ViewModels .Account.RegisterViewModel
                                          PaymentMethod4115min197 issues4514min36411d38642C4810.75Microsoft.eShopWeb.ApplicationCore .Entities.BuyerAggregate.PaymentMethod
                                          IBasketViewModelService4215min681 issue231h 1min6589d65N/A01E0286.81Microsoft.eShopWeb.Web.Interfaces .IBasketViewModelService
                                          SlugifyParameterTransformer4314min443 issues221h 2min6688d51313D2128.9Microsoft.eShopWeb.Web .SlugifyParameterTransformer
                                          EnableAuthenticatorViewModel4613min226 issues4612min33419d39664B539.39Microsoft.eShopWeb.Web.ViewModels.Manage .EnableAuthenticatorViewModel
                                          SetPasswordViewModel4513min266 issues4712min32419d40665B559.39Microsoft.eShopWeb.Web.ViewModels.Manage .SetPasswordViewModel
                                          TwoFactorAuthenticationViewModel4413min256 issues4812min34419d37662B549.39Microsoft.eShopWeb.Web.ViewModels.Manage .TwoFactorAuthenticationViewModel
                                          BasketWithItemsSpecification5213min562 issues3920min41237d48410D2721.49Microsoft.eShopWeb.ApplicationCore .Specifications .BasketWithItemsSpecification
                                          CatalogFilterSpecification5113min552 issues3320min40237d61102E0550.15Microsoft.eShopWeb.ApplicationCore .Specifications .CatalogFilterSpecification
                                          Address5413min592 issues539min18527d141769A684.3Microsoft.eShopWeb.ApplicationCore .Entities.OrderAggregate.Address
                                          CatalogItemOrdered5313min612 issues529min17527d221463B655.79Microsoft.eShopWeb.ApplicationCore .Entities.OrderAggregate .CatalogItemOrdered
                                          OrderItem4813min582 issues519min19527d291156B636.54Microsoft.eShopWeb.ApplicationCore .Entities.OrderAggregate.OrderItem
                                          OrderRepository4713min602 issues3420min42237d56207D2030.09Microsoft.eShopWeb.Infrastructure.Data .OrderRepository
                                          CatalogController5013min542 issues3520min39237d45541C3516.72Microsoft.eShopWeb.Web.Controllers.Api .CatalogController
                                          IdentityHostingStartup4913min572 issues662min 0s042 372d60127D1137.62Microsoft.eShopWeb.Web.Areas.Identity .IdentityHostingStartup
                                          PrivacyModel5512min373 issues191h 4min6971d63029D0748.23Microsoft.eShopWeb.Web.Pages .PrivacyModel
                                          IAsyncRepository<T>5710min621 issue3620min52182d69N/A43C4014.47Microsoft.eShopWeb.ApplicationCore .Interfaces.IAsyncRepository<T>
                                          ISpecification<T>5610min651 issue4120min51182d68N/A44C4212.86Microsoft.eShopWeb.ApplicationCore .Interfaces.ISpecification<T>
                                          EmailSenderExtensions589min393 issues624min 0s10848d62128D1335.87Microsoft.eShopWeb.Web.Services .EmailSenderExtensions
                                          RemoveLoginViewModel599min334 issues548min29419d50452B578.87Microsoft.eShopWeb.Web.ViewModels.Manage .RemoveLoginViewModel
                                          CatalogFilterPaginatedSpecification609min522 issues3720min56164d54224D2426.04Microsoft.eShopWeb.ApplicationCore .Specifications .CatalogFilterPaginatedSpecification
                                          UrlHelperExtensions617min403 issues586min22462d53245C3417.58Microsoft.AspNetCore.Mvc .UrlHelperExtensions
                                          BasketNotFoundException627min423 issues576min24433d47451B569.16Microsoft.eShopWeb.ApplicationCore .Exceptions.BasketNotFoundException
                                          BasketGuards636min512 issues604min 12s14551d55248C3118.39Ardalis.GuardClauses.BasketGuards
                                          CatalogSettings646min492 issues682min 0s071 095d58253B509.92Microsoft.eShopWeb.CatalogSettings
                                          LoggerAdapter<T>664min 35s502 issues634min 0s25419d46454B645.91Microsoft.eShopWeb.Infrastructure .Logging.LoggerAdapter<T>
                                          GenerateRecoveryCodesViewModel654min 35s482 issues644min 0s28419d57255B607.6Microsoft.eShopWeb.Web.ViewModels.Manage .GenerateRecoveryCodesViewModel
                                          EmailSender682min 17s641 issue672min 0s30419d59150B626.65Microsoft.eShopWeb.Infrastructure .Services.EmailSender
                                          LoginViewModel672min 17s631 issue652min 0s31419d42667A691.56Microsoft.eShopWeb.Web.ViewModels .Account.LoginViewModel
                                          Constants691min 30s433 issues596min6491d64066A674.34Microsoft.eShopWeb.Web.Constants

                                          Statistics

                                          Stat   Debt   Issues   Annual Interest   Breaking Point   # lines of code (LOC)   DebtRating   DebtRatio
                                          Sum:9d 2h4188d 0h43 474d1 242-1 842
                                          Average:1h 4min5.9755min621d19.11-26.31
                                          Minimum:1min 30s12min 0s71d0-1.56
                                          Maximum:2d 2h481d 0h3 945d189-219.91
                                          Standard deviation:2h 35min6.561h 16min862d31.83-30.97
                                          Variance:3 019d43.03726doverflow1 013-958.88
                                          ok   Code Query:    Types to Fix Priority

                                          28 types matched

                                          28 typesBreaking PointDebtAnnual InterestIssues# lines of code (LOC)DebtRatingDebtRatioFull Name
                                          LoginModel+InputModel2778d1441min033h 14min0315 issues25605D1328.45Microsoft.eShopWeb.Web.Areas.Identity .Pages.Account.LoginModel+InputModel
                                          ErrorModel2679d2233min042h 34min1010 issues26408D0835.11Microsoft.eShopWeb.Web.Pages.ErrorModel
                                          BasketItemViewModel2593d2332min082h 8min158 issues161419C2510.29Microsoft.eShopWeb.Web.Pages.Basket .BasketItemViewModel
                                          CatalogContext24111d2730min131h 40min0414 issues054827A274.59Microsoft.eShopWeb.Infrastructure.Data .CatalogContext
                                          IndexModel23133d2532min141h 28min195 issues083126B268Microsoft.eShopWeb.Web.Pages.Basket .IndexModel
                                          HomePageHealthCheck22155d1344min121h 44min175 issues231007D0636.95Microsoft.eShopWeb.Web.HealthChecks .HomePageHealthCheck
                                          ApiHealthCheck21173d1249min111h 45min185 issues211206D1033.95Microsoft.eShopWeb.Web.HealthChecks .ApiHealthCheck
                                          CachedCatalogViewModelService20174d1154min101h 54min1110 issues121711D1621.73Microsoft.eShopWeb.Web.Services .CachedCatalogViewModelService
                                          SpecificationEvaluator<T>19178d1738min151h 18min253 issues171410D1426.26Microsoft.eShopWeb.Infrastructure.Data .SpecificationEvaluator<T>
                                          EfRepository<T>18198d101h 16min072h 20min149 issues151409D0735.19Microsoft.eShopWeb.Infrastructure.Data .EfRepository<T>
                                          CheckoutModel17208d061h 55min023h 23min0216 issues092702D1231.89Microsoft.eShopWeb.Web.Pages.Basket .CheckoutModel
                                          CustomerOrdersWithItemsSpecification16212d1936min171h 2min205 issues27301E0084.61Microsoft.eShopWeb.ApplicationCore .Specifications .CustomerOrdersWithItemsSpecification
                                          ManageNavPages15230d1639min161h 2min0712 issues201223C1919.14Microsoft.eShopWeb.Web.Views.Manage .ManageNavPages
                                          BaseSpecification<T>14237d091h 21min092h 4min0810 issues102520C2117.71Microsoft.eShopWeb.ApplicationCore .Specifications.BaseSpecification<T>
                                          LoginModel13343d052h 23min062h 32min0910 issues073104D0933.97Microsoft.eShopWeb.Web.Areas.Identity .Pages.Account.LoginModel
                                          AddExtraConstraints12377d044h 22min014h 13min139 issues038703D1133.07Microsoft.eShopWeb.Infrastructure.Data .Migrations.AddExtraConstraints
                                          OrderViewModel11475d2133min2226min0514 issues191325C2311.88Microsoft.eShopWeb.Web.ViewModels .OrderViewModel
                                          OrderItemViewModel10480d2631min2324min0613 issues221221C2411.42Microsoft.eShopWeb.Web.ViewModels .OrderItemViewModel
                                          OrderController09652d081h 23min1846min166 issues141517D0248.39Microsoft.eShopWeb.Web.Controllers .OrderController
                                          ExternalLoginsViewModel08700d1838min2420min1210 issues24813D1820.19Microsoft.eShopWeb.Web.ViewModels.Manage .ExternalLoginsViewModel
                                          ManageController07841d002d 2h001d 0h0048 issues0018900E0158.57Microsoft.eShopWeb.Web.Controllers .ManageController
                                          AccountController06855d035h 58min052h 32min0119 issues047712D0443.66Microsoft.eShopWeb.Web.Controllers .AccountController
                                          BasketService051 085d071h 26min2128min224 issues064422C2018.11Microsoft.eShopWeb.ApplicationCore .Services.BasketService
                                          CatalogContextSeed041 827d2432min256min261 issue111924C2215.2Microsoft.eShopWeb.Infrastructure.Data .CatalogContextSeed
                                          OrderService032 352d1541min266min243 issues131716D1720.67Microsoft.eShopWeb.ApplicationCore .Services.OrderService
                                          Program023 251d2036min274min 3s271 issue181314D1524.62Microsoft.eShopWeb.Web.Program
                                          Initial013 864d027h 37min1943min214 issues0111715D0543.42Microsoft.eShopWeb.Infrastructure.Data .Migrations.Initial
                                          InitialIdentityModel003 945d017h 40min2042min234 issues0211518D0344.42Microsoft.eShopWeb.Infrastructure .Identity.Migrations .InitialIdentityModel

                                          Statistics

                                          Stat   Breaking Point   Debt   Annual Interest   Issues   # lines of code (LOC)   DebtRating   DebtRatio
                                          Sum:23 318d8d 0h6d 1h273994-821.49
                                          Average:832d2h 19min1h 45min9.7535.5-29.34
                                          Minimum:78d30min4min 3s13-4.59
                                          Maximum:3 945d2d 2h1d 0h48189-84.61
                                          Standard deviation:1 120d3h 45min1h 37min8.742.72-16.86
                                          Variance:overflow6 361d1 187d75.691 825-284.38
                                          ok   Code Query:    Issues to Fix Priority

                                          479 issues matched

                                          479 issuesDebtAnnual InterestBreaking PointCodeElementFull Name
                                          High issue on: Microsoft.eShopWeb .Infrastructure.Data.Migrations .AddExtraConstraints.Up(MigrationBuilder )0435min0141h 0min09830dUp(MigrationBuilder)Rule violated: From now, all methods added should respect basic quality principles
                                          High issue on: Microsoft.eShopWeb .Infrastructure.Data.Migrations .AddExtraConstraints.Down (MigrationBuilder)0425min0151h 0min09930dDown(MigrationBuilder)Rule violated: From now, all methods added should respect basic quality principles
                                          High issue on: Microsoft.eShopWeb .ApplicationCore.Specifications .BaseSpecification<T>.set_OrderBy (Expression<Func<T,Object>>)0812min 0s03420min08236dset_OrderBy(Expression<Func<T,Object>>)Rule violated: New Methods should be tested
                                          High issue on: Microsoft.eShopWeb .ApplicationCore.Specifications .BaseSpecification<T> .set_OrderByDescending(Expression<Func<T ,Object>>)0852min 0s03320min08136dset_OrderByDescending(Expression<Func<T,Object>>)Rule violated: New Methods should be tested
                                          High issue on: Microsoft.eShopWeb .ApplicationCore.Specifications .BaseSpecification<T>.ApplyOrderBy (Expression<Func<T,Object>>)0732min 0s03820min08036dApplyOrderBy(Expression<Func<T,Object>>)Rule violated: New Methods should be tested
                                          High issue on: Microsoft.eShopWeb .ApplicationCore.Specifications .BaseSpecification<T> .ApplyOrderByDescending(Expression<Func <T,Object>>)0742min 0s03720min08536dApplyOrderByDescending(Expression<Func<T,Object>>)Rule violated: New Methods should be tested
                                          High issue on: Microsoft.eShopWeb.Web .Pages.ErrorModel.get_RequestId()0712min 0s03620min08436dget_RequestId()Rule violated: New Methods should be tested
                                          High issue on: Microsoft.eShopWeb.Web .Pages.ErrorModel.set_RequestId(String)0722min 0s02920min08336dset_RequestId(String)Rule violated: New Methods should be tested
                                          High issue on: Microsoft.eShopWeb.Web .Pages.ErrorModel.get_ShowRequestId()0772min 0s02820min07636dget_ShowRequestId()Rule violated: New Methods should be tested
                                          High issue on: Microsoft.eShopWeb.Web .Pages.ErrorModel.OnGet()0782min 0s02720min07536dOnGet()Rule violated: New Methods should be tested
                                          High issue on: Microsoft.eShopWeb.Web .Pages.Basket.BasketItemViewModel .get_CatalogItemId()0752min 0s03220min07436dget_CatalogItemId()Rule violated: New Methods should be tested
                                          High issue on: Microsoft.eShopWeb.Web .Pages.Basket.BasketItemViewModel .get_OldUnitPrice()0762min 0s03120min07936dget_OldUnitPrice()Rule violated: New Methods should be tested
                                          High issue on: Microsoft.eShopWeb.Web .Pages.Basket.BasketItemViewModel .set_OldUnitPrice(Decimal)0702min 0s03020min07836dset_OldUnitPrice(Decimal)Rule violated: New Methods should be tested
                                          High issue on: Microsoft.eShopWeb.Web .Pages.Basket.BasketViewModel .get_BuyerId()0652min 0s04720min07736dget_BuyerId()Rule violated: New Methods should be tested
                                          High issue on: Microsoft.eShopWeb.Web .Pages.Basket.CheckoutModel .get_BasketModel()0642min 0s04620min09436dget_BasketModel()Rule violated: New Methods should be tested
                                          High issue on: Microsoft.eShopWeb.Web .Pages.Basket.CheckoutModel .set_BasketModel(BasketViewModel)0632min 0s04520min09336dset_BasketModel(BasketViewModel)Rule violated: New Methods should be tested
                                          High issue on: Microsoft.eShopWeb.Web .Areas.Identity.Pages.Account.LoginModel .set_Input(LoginModel+InputModel)0682min 0s05020min09236dset_Input(LoginModel+InputModel)Rule violated: New Methods should be tested
                                          High issue on: Microsoft.eShopWeb.Web .Areas.Identity.Pages.Account.LoginModel .get_ExternalLogins()0692min 0s04920min09736dget_ExternalLogins()Rule violated: New Methods should be tested
                                          High issue on: Microsoft.eShopWeb.Web .Areas.Identity.Pages.Account .LoginModel+InputModel.get_Email()0672min 0s04820min09636dget_Email()Rule violated: New Methods should be tested
                                          High issue on: Microsoft.eShopWeb.Web .Areas.Identity.Pages.Account .LoginModel+InputModel.set_Email(String)0662min 0s04120min09536dset_Email(String)Rule violated: New Methods should be tested
                                          High issue on: Microsoft.eShopWeb.Web .Areas.Identity.Pages.Account .LoginModel+InputModel.get_Password()0792min 0s04020min08836dget_Password()Rule violated: New Methods should be tested
                                          High issue on: Microsoft.eShopWeb.Web .Areas.Identity.Pages.Account .LoginModel+InputModel.set_Password (String)0842min 0s03920min08736dset_Password(String)Rule violated: New Methods should be tested
                                          High issue on: Microsoft.eShopWeb.Web .Areas.Identity.Pages.Account .LoginModel+InputModel.get_RememberMe()0822min 0s04420min08636dget_RememberMe()Rule violated: New Methods should be tested
                                          High issue on: Microsoft.eShopWeb.Web .Areas.Identity.Pages.Account .LoginModel+InputModel.set_RememberMe (Boolean)0862min 0s04320min09136dset_RememberMe(Boolean)Rule violated: New Methods should be tested
                                          High issue on: Microsoft.eShopWeb .ApplicationCore.Entities.OrderAggregate .Order0832min 0s04220min09036dOrderRule violated: Types almost 100% tested should be 100% tested
                                          High issue on: Microsoft.eShopWeb .ApplicationCore.Entities.OrderAggregate0802min 0s02620min08936dMicrosoft.eShopWeb.ApplicationCore.Entities.OrderAggregateRule violated: Namespaces almost 100% tested should be 100% tested
                                          High issue on: Microsoft.eShopWeb.Web .HealthChecks.HomePageHealthCheck..ctor (IHttpContextAccessor)0532min 53s01920min07252d.ctor(IHttpContextAccessor)Rule violated: New Methods should be tested
                                          High issue on: Microsoft.eShopWeb.Web .Controllers.AccountController.SignOut()0542min 53s02020min07352dSignOut()Rule violated: Methods refactored should be tested
                                          High issue on: Microsoft.eShopWeb .Infrastructure.Data.CatalogContext0522min 56s02120min07153dCatalogContextRule violated: Types almost 100% tested should be 100% tested
                                          High issue on: Microsoft.eShopWeb.Infrastructure.Data .SpecificationEvaluator<T>01710min0081h 0min06060dSpecificationEvaluator<T>Rule violated: From now, all types added should be 100% covered by tests
                                          High issue on: Microsoft.eShopWeb .Infrastructure.Data.Migrations .AddExtraConstraints01610min0071h 0min06160dAddExtraConstraintsRule violated: From now, all types added should be 100% covered by tests
                                          High issue on: Microsoft.eShopWeb.Web .SlugifyParameterTransformer02510min0091h 0min06260dSlugifyParameterTransformerRule violated: From now, all types added should be 100% covered by tests
                                          High issue on: Microsoft.eShopWeb.Web .HealthChecks.ApiHealthCheck02310min0111h 0min05960dApiHealthCheckRule violated: From now, all types added should be 100% covered by tests
                                          High issue on: Microsoft.eShopWeb.Web .HealthChecks.HomePageHealthCheck02410min0101h 0min05660dHomePageHealthCheckRule violated: From now, all types added should be 100% covered by tests
                                          High issue on: Microsoft.eShopWeb.Web .Services.CachedCatalogViewModelService02210min0031h 0min05760dCachedCatalogViewModelServiceRule violated: From now, all types added should be 100% covered by tests
                                          High issue on: Microsoft.eShopWeb.Web.Pages.ErrorModel01310min0021h 0min05860dErrorModelRule violated: From now, all types added should be 100% covered by tests
                                          High issue on: Microsoft.eShopWeb.Web .Pages.PrivacyModel00310min0051h 0min06360dPrivacyModelRule violated: From now, all types added should be 100% covered by tests
                                          High issue on: Microsoft.eShopWeb.Web .Pages.Basket.BasketItemViewModel01110min0041h 0min06860dBasketItemViewModelRule violated: From now, all types added should be 100% covered by tests
                                          High issue on: Microsoft.eShopWeb.Web .Pages.Basket.BasketViewModel01210min0061h 0min06960dBasketViewModelRule violated: From now, all types added should be 100% covered by tests
                                          High issue on: Microsoft.eShopWeb.Web .Pages.Basket.CheckoutModel00710min0121h 0min07060dCheckoutModelRule violated: From now, all types added should be 100% covered by tests
                                          High issue on: Microsoft.eShopWeb.Web .Pages.Basket.IndexModel00810min0161h 0min06760dIndexModelRule violated: From now, all types added should be 100% covered by tests
                                          High issue on: Microsoft.eShopWeb.Web .Pages.Shared.Components.BasketComponent .Basket00910min0171h 0min06460dBasketRule violated: From now, all types added should be 100% covered by tests
                                          High issue on: Microsoft.eShopWeb.Web .Areas.Identity.Pages.Account.LoginModel01010min0181h 0min06560dLoginModelRule violated: From now, all types added should be 100% covered by tests
                                          High issue on: Microsoft.eShopWeb.Web .Areas.Identity.Pages.Account .LoginModel+InputModel00210min0131h 0min06660dLoginModel+InputModelRule violated: From now, all types added should be 100% covered by tests
                                          High issue on: Microsoft.eShopWeb.Web .HealthChecks.ApiHealthCheck..ctor (IHttpContextAccessor,LinkGenerator)0513min 46s02320min05268d.ctor(IHttpContextAccessor,LinkGenerator)Rule violated: New Methods should be tested
                                          High issue on: Microsoft.eShopWeb.Web .Services.CachedCatalogViewModelService .GetBrands()0473min 46s02220min05168dGetBrands()Rule violated: New Methods should be tested
                                          High issue on: Microsoft.eShopWeb.Web .Services.CachedCatalogViewModelService .GetTypes()0503min 46s02520min05368dGetTypes()Rule violated: New Methods should be tested
                                          High issue on: Microsoft.eShopWeb.Web .Pages.Basket.IndexModel.OnPostUpdate (Dictionary<String,Int32>)0493min 46s02420min05568dOnPostUpdate(Dictionary<String,Int32>)Rule violated: New Methods should be tested
                                          High issue on: Microsoft.eShopWeb .ApplicationCore.Specifications .CustomerOrdersWithItemsSpecification. .ctor(String)0483min 46s05120min05468d.ctor(String)Rule violated: Methods refactored should be tested
                                          High issue on: Microsoft.eShopWeb.Web .Pages.Basket.CheckoutModel .SetBasketModelAsync()0464min 40s03520min05085dSetBasketModelAsync()Rule violated: New Methods should be tested
                                          High issue on: Microsoft.eShopWeb.Web .Interfaces.IBasketViewModelService00015min0001h 1min04989dIBasketViewModelServiceRule violated: Avoid namespaces mutually dependent
                                          High issue on: Microsoft.eShopWeb .ApplicationCore.Entities.OrderAggregate .Order00115min0011h 1min04889dOrderRule violated: Avoid namespaces mutually dependent
                                          Medium issue on: Microsoft.eShopWeb.Web .Pages.PrivacyModel.OnGet()0950min 30s0902min 0s04291dOnGet()Rule violated: Methods should be declared static if possible
                                          Medium issue on: Microsoft.eShopWeb.Web .Pages.Basket.CheckoutModel.OnGet()0990min 30s0912min 0s04391dOnGet()Rule violated: Methods should be declared static if possible
                                          High issue on: Microsoft.eShopWeb .Infrastructure.Data.CatalogContext .ConfigureCatalogItem(EntityTypeBuilder <CatalogItem>)0415min07720min04091dConfigureCatalogItem(EntityTypeBuilder<CatalogItem>)Rule violated: Don't use obsolete types, methods or fields
                                          High issue on: Microsoft.eShopWeb .Infrastructure.Data.CatalogContext .ConfigureCatalogBrand(EntityTypeBuilder <CatalogBrand>)0445min07020min04191dConfigureCatalogBrand(EntityTypeBuilder<CatalogBrand>)Rule violated: Don't use obsolete types, methods or fields
                                          High issue on: Microsoft.eShopWeb .Infrastructure.Data.CatalogContext .ConfigureCatalogType(EntityTypeBuilder <CatalogType>)0455min06920min04691dConfigureCatalogType(EntityTypeBuilder<CatalogType>)Rule violated: Don't use obsolete types, methods or fields
                                          Medium issue on: Microsoft.eShopWeb.Web .Constants.BASKET_COOKIENAME0960min 30s0892min 0s04791dBASKET_COOKIENAMERule violated: Avoid publicly visible constant fields
                                          Medium issue on: Microsoft.eShopWeb.Web .Constants.ITEMS_PER_PAGE0970min 30s0942min 0s04491dITEMS_PER_PAGERule violated: Avoid publicly visible constant fields
                                          Medium issue on: Microsoft.eShopWeb.Web .Constants.DEFAULT_USERNAME0980min 30s0952min 0s04591dDEFAULT_USERNAMERule violated: Avoid publicly visible constant fields
                                          High issue on: Microsoft.eShopWeb.Web .Pages.Basket.CheckoutModel.OnPost (Dictionary<String,Int32>)0385min07220min037101dOnPost(Dictionary<String,Int32>)Rule violated: New Methods should be tested
                                          High issue on: Microsoft.eShopWeb.Web .Controllers.ManageController.MyAccount( )0405min07320min038101dMyAccount()Rule violated: New Methods should be tested
                                          High issue on: Microsoft.eShopWeb.Web .Controllers.OrderController.MyOrders()0395min07120min039101dMyOrders()Rule violated: New Methods should be tested
                                          Medium issue on: Microsoft.eShopWeb .ApplicationCore.Specifications .BaseSpecification<T>.set_OrderBy (Expression<Func<T,Object>>)0562min 45s0809min035107dset_OrderBy(Expression<Func<T,Object>>)Rule violated: Code should be tested
                                          Medium issue on: Microsoft.eShopWeb .ApplicationCore.Specifications .BaseSpecification<T> .set_OrderByDescending(Expression<Func<T ,Object>>)0552min 45s0799min036107dset_OrderByDescending(Expression<Func<T,Object>>)Rule violated: Code should be tested
                                          High issue on: Microsoft.eShopWeb .ApplicationCore.Specifications .CatalogFilterPaginatedSpecification. .ctor(Int32,Int32,Nullable<Int32> ,Nullable<Int32>)0376min07520min034109d.ctor(Int32,Int32,Nullable<Int32>,Nullable<Int32>)Rule violated: Constructor should not call a virtual method
                                          High issue on: Microsoft.eShopWeb .Infrastructure.Data.Migrations .AddExtraConstraints.Up(MigrationBuilder )0356min07420min032117dUp(MigrationBuilder)Rule violated: New Methods should be tested
                                          High issue on: Microsoft.eShopWeb .Infrastructure.Data.Migrations .AddExtraConstraints.Down (MigrationBuilder)0366min06820min033117dDown(MigrationBuilder)Rule violated: New Methods should be tested
                                          High issue on: Ardalis.GuardClauses0337min05720min029127dArdalis.GuardClausesRule violated: Types with source files stored in the same directory, should be declared in the same namespace
                                          High issue on: Microsoft.AspNetCore.Mvc0317min05620min030127dMicrosoft.AspNetCore.MvcRule violated: Types with source files stored in the same directory, should be declared in the same namespace
                                          High issue on: Microsoft.eShopWeb.Web.Services0327min05920min031127dMicrosoft.eShopWeb.Web.ServicesRule violated: Types declared in the same namespace, should have their source files stored in the same directory
                                          Medium issue on: Microsoft.eShopWeb.Web .Views.Manage.ManageNavPages .get_ActivePageKey()0612min 17s0866min025128dget_ActivePageKey()Rule violated: Code should be tested
                                          Medium issue on: Microsoft.eShopWeb.Web .Views.Manage.ManageNavPages.get_Index()0622min 17s0856min024128dget_Index()Rule violated: Code should be tested
                                          Medium issue on: Microsoft.eShopWeb.Web .Views.Manage.ManageNavPages .get_ChangePassword()0572min 17s0836min023128dget_ChangePassword()Rule violated: Code should be tested
                                          Medium issue on: Microsoft.eShopWeb.Web .Views.Manage.ManageNavPages .get_ExternalLogins()0582min 17s0826min028128dget_ExternalLogins()Rule violated: Code should be tested
                                          Medium issue on: Microsoft.eShopWeb.Web .Views.Manage.ManageNavPages .get_TwoFactorAuthentication()0602min 17s0816min027128dget_TwoFactorAuthentication()Rule violated: Code should be tested
                                          Medium issue on: Microsoft.eShopWeb.Web .Pages.ErrorModel.get_RequestId()0592min 17s0846min026128dget_RequestId()Rule violated: Code should be tested
                                          High issue on: Microsoft.eShopWeb.Web .Controllers.AccountController .ConfirmEmail(String,String)0307min05320min022133dConfirmEmail(String,String)Rule violated: Methods refactored should be tested
                                          Medium issue on: Microsoft.eShopWeb.Web .Views.Manage.ManageNavPages .PageNavClass(ViewContext,String)0346min07818min021135dPageNavClass(ViewContext,String)Rule violated: Code should be tested
                                          High issue on: Microsoft.eShopWeb.Web .HealthChecks.HomePageHealthCheck .CheckHealthAsync(HealthCheckContext ,CancellationToken)0278min05220min018150dCheckHealthAsync(HealthCheckContext,CancellationToken)Rule violated: New Methods should be tested
                                          High issue on: Microsoft.eShopWeb.Web .Pages.Basket.CheckoutModel..ctor (IBasketService,IBasketViewModelService ,IUriComposer,SignInManager <ApplicationUser>,IOrderService)0288min05520min019150d.ctor(IBasketService,IBasketViewModelService,IUriComposer,SignInManager<ApplicationUser>,IOrderService)Rule violated: New Methods should be tested
                                          High issue on: Microsoft.eShopWeb.Web .Pages.Basket.CheckoutModel .GetOrSetBasketCookieAndUserName()0298min05420min020150dGetOrSetBasketCookieAndUserName()Rule violated: New Methods should be tested
                                          High issue on: Microsoft.eShopWeb.Web .HealthChecks.ApiHealthCheck .CheckHealthAsync(HealthCheckContext ,CancellationToken)0269min06520min017166dCheckHealthAsync(HealthCheckContext,CancellationToken)Rule violated: New Methods should be tested
                                          High issue on: Microsoft.eShopWeb .ApplicationCore.Specifications .BasketWithItemsSpecification00610min06420min005182dBasketWithItemsSpecificationRule violated: Avoid transforming an immutable type into a mutable one
                                          High issue on: Microsoft.eShopWeb .ApplicationCore.Specifications .CatalogFilterSpecification00510min06720min004182dCatalogFilterSpecificationRule violated: Avoid transforming an immutable type into a mutable one
                                          High issue on: Microsoft.eShopWeb .ApplicationCore.Specifications .CustomerOrdersWithItemsSpecification00410min06620min007182dCustomerOrdersWithItemsSpecificationRule violated: Avoid transforming an immutable type into a mutable one
                                          Medium issue on: Microsoft.eShopWeb .Infrastructure.Data.CatalogContext .ConfigurateCatalogItemOrdered (EntityTypeBuilder<CatalogItemOrdered>)0901min 0s0932min 0s006182dConfigurateCatalogItemOrdered(EntityTypeBuilder<CatalogItemOrdered>)Rule violated: Methods should be declared static if possible
                                          Medium issue on: Microsoft.eShopWeb .Infrastructure.Data.CatalogContext .ConfigureAddress(EntityTypeBuilder <Address>)0881min 0s0962min 0s001182dConfigureAddress(EntityTypeBuilder<Address>)Rule violated: Methods should be declared static if possible
                                          Medium issue on: Microsoft.eShopWeb .Infrastructure.Data.CatalogContext .ConfigureBasket(EntityTypeBuilder <Basket>)0871min 0s0992min 0s000182dConfigureBasket(EntityTypeBuilder<Basket>)Rule violated: Methods should be declared static if possible
                                          Medium issue on: Microsoft.eShopWeb .Infrastructure.Data.CatalogContext .ConfigureCatalogItem(EntityTypeBuilder <CatalogItem>)0931min 0s0982min 0s003182dConfigureCatalogItem(EntityTypeBuilder<CatalogItem>)Rule violated: Methods should be declared static if possible
                                          Medium issue on: Microsoft.eShopWeb .Infrastructure.Data.CatalogContext .ConfigureCatalogBrand(EntityTypeBuilder <CatalogBrand>)0941min 0s0972min 0s002182dConfigureCatalogBrand(EntityTypeBuilder<CatalogBrand>)Rule violated: Methods should be declared static if possible
                                          Medium issue on: Microsoft.eShopWeb .Infrastructure.Data.CatalogContext .ConfigureCatalogType(EntityTypeBuilder <CatalogType>)0891min 0s0922min 0s008182dConfigureCatalogType(EntityTypeBuilder<CatalogType>)Rule violated: Methods should be declared static if possible
                                          Medium issue on: Microsoft.eShopWeb .Infrastructure.Data.CatalogContext .ConfigureOrder(EntityTypeBuilder<Order> )0911min 0s0872min 0s014182dConfigureOrder(EntityTypeBuilder<Order>)Rule violated: Methods should be declared static if possible
                                          Medium issue on: Microsoft.eShopWeb .Infrastructure.Data.CatalogContext .ConfigureOrderItem(EntityTypeBuilder <OrderItem>)0921min 0s0882min 0s013182dConfigureOrderItem(EntityTypeBuilder<OrderItem>)Rule violated: Methods should be declared static if possible
                                          High issue on: Microsoft.eShopWeb .ApplicationCore.Services.BasketService. .ctor(IAsyncRepository<Basket> ,IRepository<CatalogItem>,IUriComposer ,IAppLogger<BasketService>)01410min06120min016182dBasketServiceRule violated: API Breaking Changes: Methods
                                          High issue on: Microsoft.eShopWeb .ApplicationCore.Interfaces .IOrderRepository.GetByIdWithItems(Int32 )01510min06020min015182dIOrderRepositoryRule violated: API Breaking Changes: Methods
                                          High issue on: Microsoft.eShopWeb .Infrastructure.Data.EfRepository<T> .GetById(Int32)02010min06320min010182dEfRepository<T>Rule violated: API Breaking Changes: Methods
                                          High issue on: Microsoft.eShopWeb .Infrastructure.Data.EfRepository<T> .GetSingleBySpec(ISpecification<T>)02110min06220min009182dEfRepository<T>Rule violated: API Breaking Changes: Methods
                                          High issue on: Microsoft.eShopWeb .Infrastructure.Data.EfRepository<T> .ListAll()01810min05820min012182dEfRepository<T>Rule violated: API Breaking Changes: Methods
                                          High issue on: Microsoft.eShopWeb .Infrastructure.Data.EfRepository<T> .List(ISpecification<T>)01910min07620min011182dEfRepository<T>Rule violated: API Breaking Changes: Methods

                                          Statistics

                                          Stat   Debt   Annual Interest   Breaking Point   CodeElement
                                          Sum:11d 4h8d 7h356 681d-
                                          Average:11min8min744d-
                                          Minimum:0min 30s0min 0s00:00:00-
                                          Maximum:3h 46min1h 1min7 775d-
                                          Standard deviation:27min12min1 357d-
                                          Variance:93d21doverflow-
                                          ok   Code Query:    Debt and Issues per Rule

                                          41 rules matched

                                          41 rulesIssuesDebtAnnual InterestBreaking PointCategoryFull Name
                                          Code should be tested00238 issues007d 0h021d 3h051 809dProject Rules \ Code CoverageRule
                                          Do not raise too general exception types0321 issues017h 0min037h 0min15365dProject Rules \ .NET Framework Usage \ SystemRule
                                          Avoid namespaces dependency cycles232 issues024h 0min1740min022 190dProject Rules \ ArchitectureRule
                                          API Breaking Changes: Types099 issues033h 0min053h 0min14365dProject Rules \ API Breaking ChangesRule
                                          New Methods should be tested0140 issues042h 40min011d 5h3073dProject Rules \ Code CoverageRule
                                          From now, all types added should be 100% covered by tests0615 issues062h 30min001d 7h3160dProject Rules \ Code Smells RegressionRule
                                          API Breaking Changes: Methods0515 issues052h 30min045h 0min19182dProject Rules \ API Breaking ChangesRule
                                          Avoid transforming an immutable type into a mutable one144 issues071h 30min081h 20min10410dProject Rules \ Code Smells RegressionRule
                                          Assemblies Namespaces and Types should be tested0421 issues081h 24min400min 0s3800:00:00Project Rules \ Code CoverageRule
                                          Types 100% covered should be tagged with FullCoveredAttribute0227 issues091h 21min390min 0s3900:00:00Project Rules \ Code CoverageRule
                                          Methods should have a low C.R.A.P score154 issues101h 6min101h 20min16302dProject Rules \ Code CoverageRule
                                          Avoid types with too many methods341 issue111h 6min313min 18s007 275dProject Rules \ Code SmellsRule
                                          Avoid namespaces with few types0713 issues121h 5min370min 0s4000:00:00Project Rules \ DesignRule
                                          Potentially Dead Methods164 issues1440min1838min11384dProject Rules \ Dead CodeRule
                                          Avoid prefixing type name with parent namespace name124 issues1340min248min041 825dProject Rules \ Naming ConventionsRule
                                          Avoid namespaces mutually dependent292 issues1730min062h 2min2989dProject Rules \ ArchitectureRule
                                          API Breaking Changes: Interfaces and Abstract Classes173 issues1630min111h 0min18182dProject Rules \ API Breaking ChangesRule
                                          Collection properties should be read only183 issues1530min286min031 825dProject Rules \ .NET Framework Usage \ System.CollectionsRule
                                          Methods refactored should be tested104 issues1924min091h 20min26109dProject Rules \ Code CoverageRule
                                          Avoid naming types and namespaces with the same identifier282 issues1824min1440min17219dProject Rules \ Naming ConventionsRule
                                          Types with disposable instance fields must be disposable193 issues2021min276min061 277dProject Rules \ DesignRule
                                          Avoid empty interfaces361 issue2119min332min 0s013 467dProject Rules \ Object Oriented DesignRule
                                          Constructor should not call a virtual method272 issues2218min1540min23164dProject Rules \ Object Oriented DesignRule
                                          Don't use obsolete types, methods or fields213 issues2315min121h 0min2791dProject Rules \ DesignRule
                                          Types with source files stored in the same directory, should be declared in the same namespace262 issues2414min1340min24127dProject Rules \ Source Files OrganizationRule
                                          Static fields naming convention134 issues2612min268min08547dProject Rules \ Naming ConventionsRule
                                          Namespace name should correspond to file location114 issues2512min258min09547dProject Rules \ Source Files OrganizationRule
                                          From now, all methods added should respect basic quality principles222 issues2910min072h 0min3430dProject Rules \ Code Smells RegressionRule
                                          Assemblies with poor cohesion (RelationalCohesion)351 issue3010min380min 0s3500:00:00Project Rules \ ArchitectureRule
                                          API Breaking Changes: Fields371 issue2710min2320min21182dProject Rules \ API Breaking ChangesRule
                                          Avoid having different types with same name401 issue2810min2120min20182dProject Rules \ Naming ConventionsRule
                                          Methods should be declared static if possible0810 issues319min1920min22164dProject Rules \ Object Oriented DesignRule
                                          Types declared in the same namespace, should have their source files stored in the same directory391 issue327min2220min25127dProject Rules \ Source Files OrganizationRule
                                          Fields should be marked as ReadOnly when possible381 issue335min322min 0s07912dProject Rules \ ImmutabilityRule
                                          Types almost 100% tested should be 100% tested242 issues344min 56s1640min3245dProject Rules \ Code CoverageRule
                                          Non-static classes should be instantiated or turned to static252 issues354min 0s304min 0s12365dProject Rules \ Object Oriented DesignRule
                                          Do not declare read only mutable reference types331 issue363min 0s350min 0s3600:00:00Project Rules \ ImmutabilityRule
                                          A stateless class or structure might be turned into a static type311 issue392min 0s360min 0s3700:00:00Project Rules \ Object Oriented DesignRule
                                          Nested types should not be visible321 issue382min 0s342min 0s13365dProject Rules \ DesignRule
                                          Namespaces almost 100% tested should be 100% tested301 issue372min 0s2020min3336dProject Rules \ Code CoverageRule
                                          Avoid publicly visible constant fields203 issues401min 30s296min2891dProject Rules \ VisibilityRule

                                          Statistics

                                          Stat   Issues   Debt   Annual Interest   Breaking Point   Category
                                          Sum:47911d 4h8d 7h26 394d-
                                          Average:11.682h 15min1h 44min643d-
                                          Minimum:11min 30s0min 0s00:00:00-
                                          Maximum:2387d 0h1d 7h7 275d-
                                          Standard deviation:36.711d 0h3h 31min1 278d-
                                          Variance:1 34834 342d5 617doverflow-
                                          ok   Code Query:    New Debt and Issues per Rule

                                          31 rules matched

                                          31 rulesIssuesAddedIssuesFixedIssuesDebtDebtDiffCategoryFull Name
                                          Do not raise too general exception types0221 issues14no issue0421 issues017h 0min007h 0minProject Rules \ .NET Framework Usage \ SystemRule
                                          API Breaking Changes: Types069 issues16no issue099 issues033h 0min013h 0minProject Rules \ API Breaking ChangesRule
                                          New Methods should be tested0140 issues18no issue0140 issues042h 40min022h 40minProject Rules \ Code CoverageRule
                                          From now, all types added should be 100% covered by tests0315 issues17no issue0615 issues062h 30min042h 30minProject Rules \ Code Smells RegressionRule
                                          API Breaking Changes: Methods0415 issues20no issue0515 issues052h 30min032h 30minProject Rules \ API Breaking ChangesRule
                                          Avoid namespaces dependency cycles191 issue19no issue202 issues024h 0min052h 0minProject Rules \ ArchitectureRule
                                          Avoid transforming an immutable type into a mutable one094 issues13no issue134 issues071h 30min061h 30minProject Rules \ Code Smells RegressionRule
                                          Types 100% covered should be tagged with FullCoveredAttribute0514 issues111 issue0227 issues091h 21min0739minProject Rules \ Code CoverageRule
                                          API Breaking Changes: Interfaces and Abstract Classes143 issues15no issue173 issues1530min0830minProject Rules \ API Breaking ChangesRule
                                          Methods refactored should be tested124 issues21no issue124 issues1624min0924minProject Rules \ Code CoverageRule
                                          Avoid prefixing type name with parent namespace name153 issues121 issue114 issues1240min1020minProject Rules \ Naming ConventionsRule
                                          Don't use obsolete types, methods or fields133 issues28no issue153 issues2015min1215minProject Rules \ DesignRule
                                          Avoid namespaces mutually dependent271 issue27no issue252 issues1330min1115minProject Rules \ ArchitectureRule
                                          From now, all methods added should respect basic quality principles182 issues30no issue262 issues2310min1410minProject Rules \ Code Smells RegressionRule
                                          Avoid namespaces with few types085 issues063 issues0713 issues111h 5min1310minProject Rules \ DesignRule
                                          API Breaking Changes: Fields201 issue29no issue281 issue2210min1510minProject Rules \ API Breaking ChangesRule
                                          Collection properties should be read only301 issue26no issue183 issues1430min1610minProject Rules \ .NET Framework Usage \ System.CollectionsRule
                                          Constructor should not call a virtual method291 issue23no issue242 issues1918min176minProject Rules \ Object Oriented DesignRule
                                          Non-static classes should be instantiated or turned to static221 issue22no issue222 issues264min 0s202min 0sProject Rules \ Object Oriented DesignRule
                                          Types almost 100% tested should be 100% tested211 issue25no issue232 issues254min 56s192min 0sProject Rules \ Code CoverageRule
                                          Namespaces almost 100% tested should be 100% tested231 issue24no issue291 issue272min 0s182min 0sProject Rules \ Code CoverageRule
                                          Methods should be declared static if possible114 issues102 issues0810 issues249min211min 30sProject Rules \ Object Oriented DesignRule
                                          Assemblies Namespaces and Types should be tested077 issues047 issues0321 issues081h 24min220min 0sProject Rules \ Code CoverageRule
                                          Avoid publicly visible constant fields172 issues053 issues163 issues301min 30s23-(0min 30s)Project Rules \ VisibilityRule
                                          A stateless class or structure might be turned into a static type251 issue092 issues271 issue292min 0s24-(4min 0s)Project Rules \ Object Oriented DesignRule
                                          Static fields naming convention104 issues038 issues144 issues2112min25-(12min)Project Rules \ Naming ConventionsRule
                                          Nested types should not be visible241 issue0112 issues301 issue282min 0s26-(22min)Project Rules \ DesignRule
                                          Methods should have a low C.R.A.P score261 issue083 issues104 issues101h 6min27-(22min)Project Rules \ Code CoverageRule
                                          Avoid naming types and namespaces with the same identifier281 issue073 issues212 issues1724min28-(24min)Project Rules \ Naming ConventionsRule
                                          Types with disposable instance fields must be disposable163 issues0212 issues193 issues1821min29-(1h 3min)Project Rules \ DesignRule
                                          Code should be tested0050 issues00350 issues00238 issues007d 0h30-(3d 7h)Project Rules \ Code CoverageRule

                                          Statistics

                                          Stat   IssuesAdded   IssuesFixed   Issues   Debt   DebtDiff   Category
                                          Sum:22040746211d 1h-(1d 1h)-
                                          Average:7.113.1314.92h 53min-(17min)-
                                          Minimum:1011min 30s-(3d 7h)-
                                          Maximum:503502387d 0h7h 0min-
                                          Standard deviation:11.2261.5941.711d 1h5h 49min-
                                          Variance:125.833 7941 74044 672d15 289d-
                                          ok   Code Query:    Debt and Issues per Code Element

                                          353 code elements matched

                                          353 code elementsIssuesDebtAnnual InterestBreaking PointFull Name
                                          Up(MigrationBuilder)0622 issues0004h 8min02530min0112 959dMicrosoft.eShopWeb.Infrastructure .Identity.Migrations .InitialIdentityModel.Up (MigrationBuilder)
                                          Up(MigrationBuilder)0352 issues0014h 1min02630min0122 909dMicrosoft.eShopWeb.Infrastructure.Data .Migrations.Initial.Up(MigrationBuilder)
                                          BuildTargetModel(ModelBuilder)0312 issues0033h 32min02729min0132 626dMicrosoft.eShopWeb.Infrastructure.Data .Migrations.AddExtraConstraints .BuildTargetModel(ModelBuilder)
                                          BuildModel(ModelBuilder)0302 issues0023h 32min02829min0142 626dMicrosoft.eShopWeb.Infrastructure.Data .Migrations.CatalogContextModelSnapshot .BuildModel(ModelBuilder)
                                          BuildTargetModel(ModelBuilder)0741 issue0063h 22min0769min0007 775dMicrosoft.eShopWeb.Infrastructure .Identity.Migrations .InitialIdentityModel.BuildTargetModel (ModelBuilder)
                                          BuildModel(ModelBuilder)0781 issue0053h 22min0759min0027 775dMicrosoft.eShopWeb.Infrastructure .Identity.Migrations .AppIdentityDbContextModelSnapshot .BuildModel(ModelBuilder)
                                          BuildTargetModel(ModelBuilder)0791 issue0043h 22min0779min0017 775dMicrosoft.eShopWeb.Infrastructure.Data .Migrations.Initial.BuildTargetModel (ModelBuilder)
                                          Microsoft.eShopWeb.ApplicationCore .Interfaces0332 issues0072h 20min02440min0281 277dMicrosoft.eShopWeb.ApplicationCore .Interfaces
                                          Index(IndexViewModel)0103 issues0082h 0min01545min037966dMicrosoft.eShopWeb.Web.Controllers .ManageController.Index(IndexViewModel)
                                          Microsoft.eShopWeb.Web.Interfaces0761 issue0092h 0min06920min0192 190dMicrosoft.eShopWeb.Web.Interfaces
                                          OnPostAsync(String)0123 issues0101h 46min01644min039872dMicrosoft.eShopWeb.Web.Areas.Identity .Pages.Account.LoginModel.OnPostAsync (String)
                                          LoginWith2fa(LoginWith2faViewModel ,Boolean,String)0322 issues0111h 45min03125min0251 522dMicrosoft.eShopWeb.Web.Controllers .AccountController.LoginWith2fa (LoginWith2faViewModel,Boolean,String)
                                          ManageController0024 issues0121h 27min03025min0291 254dMicrosoft.eShopWeb.Web.Controllers .ManageController
                                          EnableAuthenticator (EnableAuthenticatorViewModel)0292 issues0131h 20min03424min0301 206dMicrosoft.eShopWeb.Web.Controllers .ManageController.EnableAuthenticator (EnableAuthenticatorViewModel)
                                          LinkLoginCallback()0262 issues0141h 16min03524min0311 156dMicrosoft.eShopWeb.Web.Controllers .ManageController.LinkLoginCallback()
                                          EfRepository<T>0008 issues0151h 13min0002h 20min081190dMicrosoft.eShopWeb.Infrastructure.Data .EfRepository<T>
                                          Microsoft.eShopWeb.Web.Services0014 issues0161h 7min0041h 20min064305dMicrosoft.eShopWeb.Web.Services
                                          ChangePassword(ChangePasswordViewModel)0252 issues0171h 6min03324min035996dMicrosoft.eShopWeb.Web.Controllers .ManageController.ChangePassword (ChangePasswordViewModel)
                                          SetPassword(SetPasswordViewModel)0282 issues0181h 3min03624min038959dMicrosoft.eShopWeb.Web.Controllers .ManageController.SetPassword (SetPasswordViewModel)
                                          ExternalLogins()0272 issues0191h 2min03923min036974dMicrosoft.eShopWeb.Web.Controllers .ManageController.ExternalLogins()
                                          BaseSpecification<T>0941 issue0201h 0min06020min0341 095dMicrosoft.eShopWeb.ApplicationCore .Specifications.BaseSpecification<T>
                                          ConfirmEmail(String,String)0043 issues02158min01842min056500dMicrosoft.eShopWeb.Web.Controllers .AccountController.ConfirmEmail(String ,String)
                                          SendVerificationEmail(IndexViewModel)0402 issues02253min03723min040820dMicrosoft.eShopWeb.Web.Controllers .ManageController.SendVerificationEmail (IndexViewModel)
                                          ListAllRegisteredServices (IApplicationBuilder,LinkGenerator)0392 issues02348min03224min047709dMicrosoft.eShopWeb.Web.Startup .ListAllRegisteredServices (IApplicationBuilder,LinkGenerator)
                                          RemoveLogin(RemoveLoginViewModel)0422 issues02647min04223min041754dMicrosoft.eShopWeb.Web.Controllers .ManageController.RemoveLogin (RemoveLoginViewModel)
                                          EnableAuthenticator()0412 issues02547min04123min043754dMicrosoft.eShopWeb.Web.Controllers .ManageController.EnableAuthenticator()
                                          GenerateRecoveryCodes()0382 issues02447min04323min042754dMicrosoft.eShopWeb.Web.Controllers .ManageController.GenerateRecoveryCodes( )
                                          ChangePassword()0202 issues02945min04422min046720dMicrosoft.eShopWeb.Web.Controllers .ManageController.ChangePassword()
                                          SetPassword()0342 issues02845min04722min045720dMicrosoft.eShopWeb.Web.Controllers .ManageController.SetPassword()
                                          Disable2fa()0372 issues02745min04622min044720dMicrosoft.eShopWeb.Web.Controllers .ManageController.Disable2fa()
                                          Microsoft.eShopWeb.Web.ViewModels0362 issues03140min02340min061365dMicrosoft.eShopWeb.Web.ViewModels
                                          Microsoft.eShopWeb.Web.Controllers0142 issues03040min02240min062365dMicrosoft.eShopWeb.Web.Controllers
                                          Disable2faWarning()0152 issues03239min05122min048649dMicrosoft.eShopWeb.Web.Controllers .ManageController.Disable2faWarning()
                                          MyAccount()0033 issues03338min01942min063338dMicrosoft.eShopWeb.Web.Controllers .ManageController.MyAccount()
                                          Detail(Int32)0981 issue03438min0912min 48s0045 054dMicrosoft.eShopWeb.Web.Controllers .OrderController.Detail(Int32)
                                          GetOrSetBasketCookieAndUserName()0162 issues03538min02926min054526dMicrosoft.eShopWeb.Web.Pages.Basket .CheckoutModel .GetOrSetBasketCookieAndUserName()
                                          ResetAuthenticator()0132 issues03637min04922min049614dMicrosoft.eShopWeb.Web.Controllers .ManageController.ResetAuthenticator()
                                          SignIn(LoginViewModel,String)0991 issue03737min0932min 20s0035 881dMicrosoft.eShopWeb.Web.Controllers .AccountController.SignIn(LoginViewModel ,String)
                                          Main(String[])0961 issue03836min0834min 3s0103 251dMicrosoft.eShopWeb.Web.Program.Main (String[])
                                          LoginWith2fa(Boolean,String)0172 issues03935min05022min050586dMicrosoft.eShopWeb.Web.Controllers .AccountController.LoginWith2fa(Boolean ,String)
                                          TwoFactorAuthentication()0222 issues04033min05422min052554dMicrosoft.eShopWeb.Web.Controllers .ManageController .TwoFactorAuthentication()
                                          SeedAsync(CatalogContext,ILoggerFactory ,Nullable<Int32>)0971 issue04132min0796min0241 827dMicrosoft.eShopWeb.Infrastructure.Data .CatalogContextSeed.SeedAsync (CatalogContext,ILoggerFactory,Nullable <Int32>)
                                          CheckHealthAsync(HealthCheckContext ,CancellationToken)0232 issues04231min04023min057497dMicrosoft.eShopWeb.Web.HealthChecks .ApiHealthCheck.CheckHealthAsync (HealthCheckContext,CancellationToken)
                                          CreateOrderAsync(Int32,Address)0901 issue04331min0824min 22s0162 615dMicrosoft.eShopWeb.ApplicationCore .Services.OrderService.CreateOrderAsync (Int32,Address)
                                          ResetPassword(String)0242 issues04431min05522min055517dMicrosoft.eShopWeb.Web.Controllers .AccountController.ResetPassword(String)
                                          GetBasketItemCountAsync(String)0841 issue04530min0873min 26s0093 251dMicrosoft.eShopWeb.ApplicationCore .Services.BasketService .GetBasketItemCountAsync(String)
                                          SetQuantities(Int32,Dictionary<String ,Int32>)0811 issue04630min0893min 24s0073 251dMicrosoft.eShopWeb.ApplicationCore .Services.BasketService.SetQuantities (Int32,Dictionary<String,Int32>)
                                          FormatKey(String)0821 issue04730min0805min0221 872dMicrosoft.eShopWeb.Web.Controllers .ManageController.FormatKey(String)
                                          Web0212 issues04830min06820min053547dWeb
                                          CheckHealthAsync(HealthCheckContext ,CancellationToken)0182 issues04928min04522min058453dMicrosoft.eShopWeb.Web.HealthChecks .HomePageHealthCheck.CheckHealthAsync (HealthCheckContext,CancellationToken)
                                          MyOrders()0192 issues05027min05622min059452dMicrosoft.eShopWeb.Web.Controllers .OrderController.MyOrders()
                                          GetQuery(IQueryable<T>,ISpecification<T> )0851 issue05126min07416min051579dMicrosoft.eShopWeb.Infrastructure.Data .SpecificationEvaluator<T>.GetQuery (IQueryable<T>,ISpecification<T>)
                                          AddErrors(IdentityResult)0881 issue05226min0815min0231 862dMicrosoft.eShopWeb.Web.Controllers .ManageController.AddErrors (IdentityResult)
                                          Register(RegisterViewModel,String)0891 issue05325min0902min 48s0083 251dMicrosoft.eShopWeb.Web.Controllers .AccountController.Register (RegisterViewModel,String)
                                          Basket0113 issues05425min02140min076228dMicrosoft.eShopWeb.ApplicationCore .Entities.BasketAggregate.Basket
                                          .ctor(String)0073 issues05522min01742min080192dMicrosoft.eShopWeb.ApplicationCore .Specifications .CustomerOrdersWithItemsSpecification. .ctor(String)
                                          Basket0432 issues05622min0051h 20min089100dMicrosoft.eShopWeb.Web.Pages.Shared .Components.BasketComponent.Basket
                                          SignIn(String)0871 issue05721min0952min 0s0053 960dMicrosoft.eShopWeb.Web.Controllers .AccountController.SignIn(String)
                                          Up(MigrationBuilder)0093 issues05920min0011h 22min09290dMicrosoft.eShopWeb.Infrastructure.Data .Migrations.AddExtraConstraints.Up (MigrationBuilder)
                                          Down(MigrationBuilder)0083 issues05820min0021h 22min09390dMicrosoft.eShopWeb.Infrastructure.Data .Migrations.AddExtraConstraints.Down (MigrationBuilder)
                                          AddErrors(IdentityResult)0861 issue06020min0863min 45s0211 942dMicrosoft.eShopWeb.Web.Controllers .AccountController.AddErrors (IdentityResult)
                                          IOrderRepository0682 issues06320min02040min082182dMicrosoft.eShopWeb.ApplicationCore .Interfaces.IOrderRepository
                                          BasketItemViewModel0642 issues06220min0071h 2min087117dMicrosoft.eShopWeb.Web.Pages.Basket .BasketItemViewModel
                                          BasketViewModel0652 issues06120min0101h 2min088117dMicrosoft.eShopWeb.Web.Pages.Basket .BasketViewModel
                                          IAggregateRoot0831 issue06419min0962min 0s0063 467dMicrosoft.eShopWeb.ApplicationCore .Interfaces.IAggregateRoot
                                          .ctor(IBasketService ,IBasketViewModelService,IUriComposer ,SignInManager<ApplicationUser> ,IOrderService)0662 issues06518min04822min065297dMicrosoft.eShopWeb.Web.Pages.Basket .CheckoutModel..ctor(IBasketService ,IBasketViewModelService,IUriComposer ,SignInManager<ApplicationUser> ,IOrderService)
                                          SetBasketModelAsync()0702 issues06618min03823min067278dMicrosoft.eShopWeb.Web.Pages.Basket .CheckoutModel.SetBasketModelAsync()
                                          Order0672 issues06817min0031h 21min09776dMicrosoft.eShopWeb.ApplicationCore .Entities.OrderAggregate.Order
                                          CachedCatalogViewModelService0492 issues06717min0091h 2min090100dMicrosoft.eShopWeb.Web.Services .CachedCatalogViewModelService
                                          Microsoft.AspNetCore.Mvc0063 issues07016min06320min066292dMicrosoft.AspNetCore.Mvc
                                          LoginModel+InputModel0053 issues06916min0081h 2min09194dMicrosoft.eShopWeb.Web.Areas.Identity .Pages.Account.LoginModel+InputModel
                                          OnPost(Dictionary<String,Int32>)0522 issues07115min05722min068260dMicrosoft.eShopWeb.Web.Pages.Basket .CheckoutModel.OnPost(Dictionary<String ,Int32>)
                                          TransferBasketAsync(String,String)0951 issue07215min0942min 6s0152 615dMicrosoft.eShopWeb.ApplicationCore .Services.BasketService .TransferBasketAsync(String,String)
                                          IBasketViewModelService0921 issue07315min0111h 1min09489dMicrosoft.eShopWeb.Web.Interfaces .IBasketViewModelService
                                          CustomerOrdersWithItemsSpecification0442 issues07614min06120min070255dMicrosoft.eShopWeb.ApplicationCore .Specifications .CustomerOrdersWithItemsSpecification
                                          ErrorModel0472 issues07714min0141h 0min09585dMicrosoft.eShopWeb.Web.Pages.ErrorModel
                                          CheckoutModel0462 issues07414min0121h 0min09685dMicrosoft.eShopWeb.Web.Pages.Basket .CheckoutModel
                                          OrderController0592 issues07514min07320min069255dMicrosoft.eShopWeb.Web.Controllers .OrderController
                                          Down(MigrationBuilder)0911 issue07813min0883min 26s0261 477dMicrosoft.eShopWeb.Infrastructure.Data .Migrations.Initial.Down (MigrationBuilder)
                                          BasketWithItemsSpecification0612 issues08213min06420min071237dMicrosoft.eShopWeb.ApplicationCore .Specifications .BasketWithItemsSpecification
                                          CatalogFilterSpecification0602 issues08313min06220min072237dMicrosoft.eShopWeb.ApplicationCore .Specifications .CatalogFilterSpecification
                                          OrderRepository0572 issues08413min05920min075237dMicrosoft.eShopWeb.Infrastructure.Data .OrderRepository
                                          BasketViewModelService0542 issues07913min07120min074237dMicrosoft.eShopWeb.Web.Services .BasketViewModelService
                                          CatalogController0532 issues08013min07020min073237dMicrosoft.eShopWeb.Web.Controllers.Api .CatalogController
                                          IdentityHostingStartup0562 issues08113min0972min 0s0172 372dMicrosoft.eShopWeb.Web.Areas.Identity .IdentityHostingStartup
                                          Configure(IApplicationBuilder ,IHostingEnvironment,LinkGenerator)0931 issue08512min0992min 0s0182 363dMicrosoft.eShopWeb.Web.Startup.Configure (IApplicationBuilder,IHostingEnvironment ,LinkGenerator)
                                          GetBrands()0632 issues08712min05222min078211dMicrosoft.eShopWeb.Web.Services .CachedCatalogViewModelService.GetBrands ()
                                          GetTypes()0552 issues08612min05322min079211dMicrosoft.eShopWeb.Web.Services .CachedCatalogViewModelService.GetTypes( )
                                          set_CurrentLogins(IList<UserLoginInfo>)0582 issues08912min0854min 0s0331 122dMicrosoft.eShopWeb.Web.ViewModels.Manage .ExternalLoginsViewModel .set_CurrentLogins(IList<UserLoginInfo>)
                                          set_OtherLogins(IList <AuthenticationScheme>)0452 issues08812min0844min 0s0321 122dMicrosoft.eShopWeb.Web.ViewModels.Manage .ExternalLoginsViewModel.set_OtherLogins (IList<AuthenticationScheme>)
                                          Ardalis.GuardClauses0482 issues09212min07220min077219dArdalis.GuardClauses
                                          SpecificationEvaluator<T>0512 issues09112min0061h 2min09970dMicrosoft.eShopWeb.Infrastructure.Data .SpecificationEvaluator<T>
                                          SlugifyParameterTransformer0502 issues09012min0131h 0min09873dMicrosoft.eShopWeb.Web .SlugifyParameterTransformer
                                          LinkLogin(String)0771 issue09311min0982min 0s0202 008dMicrosoft.eShopWeb.Web.Controllers .ManageController.LinkLogin(String)
                                          OnPostUpdate(Dictionary<String,Int32>)0692 issues09410min05822min086175dMicrosoft.eShopWeb.Web.Pages.Basket .IndexModel.OnPostUpdate(Dictionary <String,Int32>)
                                          Down(MigrationBuilder)0751 issue09510min0922min 29s0271 477dMicrosoft.eShopWeb.Infrastructure .Identity.Migrations .InitialIdentityModel.Down (MigrationBuilder)
                                          BasketService0801 issue09810min06620min084182dMicrosoft.eShopWeb.ApplicationCore .Services.BasketService
                                          IAsyncRepository<T>0731 issue09910min06520min085182dMicrosoft.eShopWeb.ApplicationCore .Interfaces.IAsyncRepository<T>
                                          ISpecification<T>0721 issue09610min06720min083182dMicrosoft.eShopWeb.ApplicationCore .Interfaces.ISpecification<T>
                                          .ctor()0711 issue09710min0789min060405dMicrosoft.eShopWeb.ApplicationCore .Entities.OrderAggregate.Address..ctor()

                                          Statistics

                                          Stat   Issues   Debt   Annual Interest   Breaking Point
                                          Sum:47911d 4h8d 7h209 151d
                                          Average:1.3615min12min592d
                                          Minimum:10min 30s0min 0s00:00:00
                                          Maximum:84h 8min2h 20min7 775d
                                          Standard deviation:0.6634min18min991d
                                          Variance:0.44150d41doverflow
                                          ok   Code Query:    New Debt and Issues per Code Element

                                          145 code elements matched

                                          145 code elementsIssuesAddedIssuesFixedIssuesDebtDebtDiffFull Name
                                          BuildTargetModel(ModelBuilder)0102 issues034no issue0222 issues0013h 32min0003h 32minMicrosoft.eShopWeb.Infrastructure.Data .Migrations.AddExtraConstraints .BuildTargetModel(ModelBuilder)
                                          Microsoft.eShopWeb.Web.Interfaces0601 issue033no issue0771 issue0042h 0min0012h 0minMicrosoft.eShopWeb.Web.Interfaces
                                          OnPostAsync(String)0063 issues032no issue0093 issues0051h 46min0021h 46minMicrosoft.eShopWeb.Web.Areas.Identity .Pages.Account.LoginModel.OnPostAsync (String)
                                          EfRepository<T>0008 issues0011 issue0008 issues0101h 13min0031h 6minMicrosoft.eShopWeb.Infrastructure.Data .EfRepository<T>
                                          Microsoft.eShopWeb.Web.Services0053 issues037no issue0024 issues0111h 7min0041h 0minMicrosoft.eShopWeb.Web.Services
                                          BaseSpecification<T>0611 issue0001 issue0761 issue0151h 0min00555minMicrosoft.eShopWeb.ApplicationCore .Specifications.BaseSpecification<T>
                                          ListAllRegisteredServices (IApplicationBuilder,LinkGenerator)0252 issues036no issue0342 issues01848min00648minMicrosoft.eShopWeb.Web.Startup .ListAllRegisteredServices (IApplicationBuilder,LinkGenerator)
                                          Microsoft.eShopWeb.Web.ViewModels0262 issues035no issue0332 issues02540min00840minMicrosoft.eShopWeb.Web.ViewModels
                                          Microsoft.eShopWeb.Web.Controllers0272 issues028no issue0352 issues02640min00740minMicrosoft.eShopWeb.Web.Controllers
                                          MyAccount()0013 issues027no issue0083 issues02838min00938minMicrosoft.eShopWeb.Web.Controllers .ManageController.MyAccount()
                                          GetOrSetBasketCookieAndUserName()0242 issues026no issue0372 issues02938min01038minMicrosoft.eShopWeb.Web.Pages.Basket .CheckoutModel .GetOrSetBasketCookieAndUserName()
                                          CheckHealthAsync(HealthCheckContext ,CancellationToken)0212 issues031no issue0362 issues03331min01131minMicrosoft.eShopWeb.Web.HealthChecks .ApiHealthCheck.CheckHealthAsync (HealthCheckContext,CancellationToken)
                                          CheckHealthAsync(HealthCheckContext ,CancellationToken)0222 issues030no issue0292 issues03628min01228minMicrosoft.eShopWeb.Web.HealthChecks .HomePageHealthCheck.CheckHealthAsync (HealthCheckContext,CancellationToken)
                                          ConfirmEmail(String,String)0232 issues029no issue0033 issues01658min01327minMicrosoft.eShopWeb.Web.Controllers .AccountController.ConfirmEmail(String ,String)
                                          MyOrders()0282 issues046no issue0282 issues03727min01427minMicrosoft.eShopWeb.Web.Controllers .OrderController.MyOrders()
                                          GetQuery(IQueryable<T>,ISpecification<T> )0631 issue045no issue0741 issue03826min01526minMicrosoft.eShopWeb.Infrastructure.Data .SpecificationEvaluator<T>.GetQuery (IQueryable<T>,ISpecification<T>)
                                          Basket0332 issues044no issue0302 issues03922min01622minMicrosoft.eShopWeb.Web.Pages.Shared .Components.BasketComponent.Basket
                                          Up(MigrationBuilder)0033 issues049no issue0073 issues04020min01820minMicrosoft.eShopWeb.Infrastructure.Data .Migrations.AddExtraConstraints.Up (MigrationBuilder)
                                          Down(MigrationBuilder)0023 issues048no issue0063 issues04120min01720minMicrosoft.eShopWeb.Infrastructure.Data .Migrations.AddExtraConstraints.Down (MigrationBuilder)
                                          Microsoft.eShopWeb.ApplicationCore .Interfaces0481 issue047no issue0322 issues0022h 20min03420minMicrosoft.eShopWeb.ApplicationCore .Interfaces
                                          IOrderRepository0342 issues040no issue0312 issues04420min03520minMicrosoft.eShopWeb.ApplicationCore .Interfaces.IOrderRepository
                                          Web0461 issue039no issue0442 issues03530min03620minWeb
                                          BasketItemViewModel0352 issues038no issue0432 issues04320min03120minMicrosoft.eShopWeb.Web.Pages.Basket .BasketItemViewModel
                                          BasketViewModel0322 issues043no issue0452 issues04220min03220minMicrosoft.eShopWeb.Web.Pages.Basket .BasketViewModel
                                          LoginWith2fa(Boolean,String)0541 issue042no issue0472 issues03135min03320minMicrosoft.eShopWeb.Web.Controllers .AccountController.LoginWith2fa(Boolean ,String)
                                          LoginWith2fa(LoginWith2faViewModel ,Boolean,String)0471 issue041no issue0462 issues0061h 45min04020minMicrosoft.eShopWeb.Web.Controllers .AccountController.LoginWith2fa (LoginWith2faViewModel,Boolean,String)
                                          ResetPassword(String)0521 issue010no issue0392 issues03431min04120minMicrosoft.eShopWeb.Web.Controllers .AccountController.ResetPassword(String)
                                          Index(IndexViewModel)0491 issue009no issue0053 issues0032h 0min04220minMicrosoft.eShopWeb.Web.Controllers .ManageController.Index(IndexViewModel)
                                          SendVerificationEmail(IndexViewModel)0501 issue008no issue0382 issues01753min03720minMicrosoft.eShopWeb.Web.Controllers .ManageController.SendVerificationEmail (IndexViewModel)
                                          ChangePassword()0511 issue013no issue0402 issues02445min03820minMicrosoft.eShopWeb.Web.Controllers .ManageController.ChangePassword()
                                          ChangePassword(ChangePasswordViewModel)0551 issue012no issue0422 issues0121h 6min03920minMicrosoft.eShopWeb.Web.Controllers .ManageController.ChangePassword (ChangePasswordViewModel)
                                          SetPassword()0891 issue011no issue0412 issues02345min02220minMicrosoft.eShopWeb.Web.Controllers .ManageController.SetPassword()
                                          SetPassword(SetPasswordViewModel)0901 issue002no issue0162 issues0131h 3min02320minMicrosoft.eShopWeb.Web.Controllers .ManageController.SetPassword (SetPasswordViewModel)
                                          ExternalLogins()0911 issue003no issue0152 issues0141h 2min02420minMicrosoft.eShopWeb.Web.Controllers .ManageController.ExternalLogins()
                                          LinkLoginCallback()0881 issue004no issue0142 issues0091h 16min01920minMicrosoft.eShopWeb.Web.Controllers .ManageController.LinkLoginCallback()
                                          RemoveLogin(RemoveLoginViewModel)0851 issue007no issue0172 issues02147min02020minMicrosoft.eShopWeb.Web.Controllers .ManageController.RemoveLogin (RemoveLoginViewModel)
                                          TwoFactorAuthentication()0861 issue006no issue0112 issues03233min02120minMicrosoft.eShopWeb.Web.Controllers .ManageController .TwoFactorAuthentication()
                                          Disable2faWarning()0871 issue005no issue0102 issues02739min02820minMicrosoft.eShopWeb.Web.Controllers .ManageController.Disable2faWarning()
                                          Disable2fa()0921 issue022no issue0132 issues02245min02920minMicrosoft.eShopWeb.Web.Controllers .ManageController.Disable2fa()
                                          EnableAuthenticator()0971 issue021no issue0122 issues02047min03020minMicrosoft.eShopWeb.Web.Controllers .ManageController.EnableAuthenticator()
                                          EnableAuthenticator (EnableAuthenticatorViewModel)0981 issue020no issue0182 issues0081h 20min02520minMicrosoft.eShopWeb.Web.Controllers .ManageController.EnableAuthenticator (EnableAuthenticatorViewModel)
                                          ResetAuthenticator()0991 issue025no issue0252 issues03037min02620minMicrosoft.eShopWeb.Web.Controllers .ManageController.ResetAuthenticator()
                                          GenerateRecoveryCodes()0961 issue024no issue0242 issues01947min02720minMicrosoft.eShopWeb.Web.Controllers .ManageController.GenerateRecoveryCodes( )
                                          .ctor(IBasketService ,IBasketViewModelService,IUriComposer ,SignInManager<ApplicationUser> ,IOrderService)0292 issues023no issue0272 issues04518min04318minMicrosoft.eShopWeb.Web.Pages.Basket .CheckoutModel..ctor(IBasketService ,IBasketViewModelService,IUriComposer ,SignInManager<ApplicationUser> ,IOrderService)
                                          SetBasketModelAsync()0302 issues016no issue0202 issues04618min04418minMicrosoft.eShopWeb.Web.Pages.Basket .CheckoutModel.SetBasketModelAsync()
                                          CachedCatalogViewModelService0312 issues015no issue0192 issues04717min04617minMicrosoft.eShopWeb.Web.Services .CachedCatalogViewModelService
                                          ManageController0092 issues014no issue0014 issues0071h 27min04517minMicrosoft.eShopWeb.Web.Controllers .ManageController
                                          LoginModel+InputModel0043 issues019no issue0043 issues04816min04716minMicrosoft.eShopWeb.Web.Areas.Identity .Pages.Account.LoginModel+InputModel
                                          OnPost(Dictionary<String,Int32>)0112 issues018no issue0212 issues04915min04815minMicrosoft.eShopWeb.Web.Pages.Basket .CheckoutModel.OnPost(Dictionary<String ,Int32>)
                                          IBasketViewModelService0591 issue017no issue0781 issue05015min04915minMicrosoft.eShopWeb.Web.Interfaces .IBasketViewModelService
                                          ErrorModel0082 issues083no issue0232 issues05314min05114minMicrosoft.eShopWeb.Web.Pages.ErrorModel
                                          CheckoutModel0072 issues082no issue0262 issues05414min05014minMicrosoft.eShopWeb.Web.Pages.Basket .CheckoutModel
                                          BasketWithItemsSpecification0122 issues081no issue0652 issues05713min05413minMicrosoft.eShopWeb.ApplicationCore .Specifications .BasketWithItemsSpecification
                                          OrderRepository0182 issues086no issue0662 issues06013min05513minMicrosoft.eShopWeb.Infrastructure.Data .OrderRepository
                                          BasketViewModelService0172 issues085no issue0672 issues05913min05213minMicrosoft.eShopWeb.Web.Services .BasketViewModelService
                                          IdentityHostingStartup0202 issues084no issue0622 issues05813min05313minMicrosoft.eShopWeb.Web.Areas.Identity .IdentityHostingStartup
                                          Configure(IApplicationBuilder ,IHostingEnvironment,LinkGenerator)0761 issue077no issue0881 issue06112min05612minMicrosoft.eShopWeb.Web.Startup.Configure (IApplicationBuilder,IHostingEnvironment ,LinkGenerator)
                                          GetBrands()0192 issues076no issue0632 issues06212min05812minMicrosoft.eShopWeb.Web.Services .CachedCatalogViewModelService.GetBrands ()
                                          GetTypes()0142 issues075no issue0642 issues06312min05712minMicrosoft.eShopWeb.Web.Services .CachedCatalogViewModelService.GetTypes( )
                                          SpecificationEvaluator<T>0132 issues080no issue0732 issues06412min06012minMicrosoft.eShopWeb.Infrastructure.Data .SpecificationEvaluator<T>
                                          SlugifyParameterTransformer0162 issues079no issue0722 issues06512min05912minMicrosoft.eShopWeb.Web .SlugifyParameterTransformer
                                          OnPostUpdate(Dictionary<String,Int32>)0152 issues078no issue0682 issues06610min06110minMicrosoft.eShopWeb.Web.Pages.Basket .IndexModel.OnPostUpdate(Dictionary <String,Int32>)
                                          CatalogFilterSpecification0781 issue087no issue0692 issues05513min07310minMicrosoft.eShopWeb.ApplicationCore .Specifications .CatalogFilterSpecification
                                          CustomerOrdersWithItemsSpecification0791 issue096no issue0702 issues05114min07410minMicrosoft.eShopWeb.ApplicationCore .Specifications .CustomerOrdersWithItemsSpecification
                                          BasketService0771 issue095no issue0871 issue07410min07110minMicrosoft.eShopWeb.ApplicationCore .Services.BasketService
                                          IAsyncRepository<T>0801 issue094no issue0901 issue07310min07210minMicrosoft.eShopWeb.ApplicationCore .Interfaces.IAsyncRepository<T>
                                          ISpecification<T>0831 issue099no issue0891 issue07210min07710minMicrosoft.eShopWeb.ApplicationCore .Interfaces.ISpecification<T>
                                          AddExtraConstraints0821 issue098no issue0841 issue07510min07810minMicrosoft.eShopWeb.Infrastructure.Data .Migrations.AddExtraConstraints
                                          BuildModel(ModelBuilder)0811 issue097no issue0532 issues0003h 32min07510minMicrosoft.eShopWeb.Infrastructure.Data .Migrations.CatalogContextModelSnapshot .BuildModel(ModelBuilder)
                                          Startup0711 issue090no issue0831 issue07810min07610minMicrosoft.eShopWeb.Web.Startup
                                          ApiHealthCheck0701 issue089no issue0861 issue07710min07010minMicrosoft.eShopWeb.Web.HealthChecks .ApiHealthCheck
                                          HomePageHealthCheck0691 issue088no issue0851 issue07610min06410minMicrosoft.eShopWeb.Web.HealthChecks .HomePageHealthCheck
                                          _itemRepository0721 issue093no issue0911 issue06810min06510minMicrosoft.eShopWeb.Web.Services .BasketViewModelService._itemRepository
                                          PrivacyModel0751 issue092no issue0971 issue06710min06210minMicrosoft.eShopWeb.Web.Pages .PrivacyModel
                                          IndexModel0741 issue091no issue0961 issue06910min06310minMicrosoft.eShopWeb.Web.Pages.Basket .IndexModel
                                          OrderController0731 issue058no issue0592 issues05214min06810minMicrosoft.eShopWeb.Web.Controllers .OrderController
                                          CatalogController0841 issue057no issue0602 issues05613min06910minMicrosoft.eShopWeb.Web.Controllers.Api .CatalogController
                                          LoginModel0951 issue056no issue0991 issue07010min06610minMicrosoft.eShopWeb.Web.Areas.Identity .Pages.Account.LoginModel
                                          set_ExternalLogins(IList <AuthenticationScheme>)0941 issue061no issue0981 issue07110min06710minMicrosoft.eShopWeb.Web.Areas.Identity .Pages.Account.LoginModel .set_ExternalLogins(IList <AuthenticationScheme>)
                                          Microsoft.eShopWeb.Web.HealthChecks0372 issues060no issue0572 issues0799min0799minMicrosoft.eShopWeb.Web.HealthChecks
                                          OnGetAsync(String)0931 issue059no issue0931 issue0808min0808minMicrosoft.eShopWeb.Web.Areas.Identity .Pages.Account.LoginModel.OnGetAsync (String)
                                          .ctor(IHttpContextAccessor,LinkGenerator )0402 issues052no issue0582 issues0818min0818minMicrosoft.eShopWeb.Web.HealthChecks .ApiHealthCheck..ctor (IHttpContextAccessor,LinkGenerator)
                                          GetBasketViewModelAsync()0531 issue051no issue0921 issue0827min0827minMicrosoft.eShopWeb.Web.Pages.Shared .Components.BasketComponent.Basket .GetBasketViewModelAsync()
                                          SetBasketModelAsync()0451 issue050no issue0951 issue0836min0836minMicrosoft.eShopWeb.Web.Pages.Basket .IndexModel.SetBasketModelAsync()
                                          OnGet()0392 issues055no issue0482 issues0846min0846minMicrosoft.eShopWeb.Web.Pages.ErrorModel .OnGet()
                                          .ctor(IHttpContextAccessor)0422 issues054no issue0712 issues0856min0856minMicrosoft.eShopWeb.Web.HealthChecks .HomePageHealthCheck..ctor (IHttpContextAccessor)
                                          .ctor(Int32,Int32,Nullable<Int32> ,Nullable<Int32>)0651 issue053no issue0941 issue0896min0866minMicrosoft.eShopWeb.ApplicationCore .Specifications .CatalogFilterPaginatedSpecification. .ctor(Int32,Int32,Nullable<Int32> ,Nullable<Int32>)
                                          OnPost(CatalogItemViewModel)0641 issue062no issue0751 issue0905min0875minMicrosoft.eShopWeb.Web.Pages.Basket .IndexModel.OnPost(CatalogItemViewModel)
                                          ConfigureCatalogItem(EntityTypeBuilder <CatalogItem>)0681 issue071no issue0542 issues0886min0925minMicrosoft.eShopWeb.Infrastructure.Data .CatalogContext.ConfigureCatalogItem (EntityTypeBuilder<CatalogItem>)
                                          ConfigureCatalogBrand(EntityTypeBuilder <CatalogBrand>)0671 issue070no issue0552 issues0866min0935minMicrosoft.eShopWeb.Infrastructure.Data .CatalogContext.ConfigureCatalogBrand (EntityTypeBuilder<CatalogBrand>)
                                          ConfigureCatalogType(EntityTypeBuilder <CatalogType>)0661 issue069no issue0562 issues0876min0945minMicrosoft.eShopWeb.Infrastructure.Data .CatalogContext.ConfigureCatalogType (EntityTypeBuilder<CatalogType>)
                                          Microsoft.eShopWeb.Web.Pages0621 issue074no issue0801 issue0935min0915minMicrosoft.eShopWeb.Web.Pages
                                          Microsoft.eShopWeb.Web.Pages.Basket0581 issue073no issue0811 issue0945min0885minMicrosoft.eShopWeb.Web.Pages.Basket
                                          Microsoft.eShopWeb.Web.Pages.Shared .Components.BasketComponent0571 issue072no issue0821 issue0915min0895minMicrosoft.eShopWeb.Web.Pages.Shared .Components.BasketComponent
                                          Microsoft.eShopWeb.Web.Areas.Identity .Pages.Account0561 issue065no issue0791 issue0925min0905minMicrosoft.eShopWeb.Web.Areas.Identity .Pages.Account
                                          set_OrderBy(Expression<Func<T,Object>>)0382 issues064no issue0502 issues0964min 45s0964min 45sMicrosoft.eShopWeb.ApplicationCore .Specifications.BaseSpecification<T> .set_OrderBy(Expression<Func<T,Object>>)
                                          set_OrderByDescending(Expression<Func<T ,Object>>)0362 issues063no issue0492 issues0954min 45s0954min 45sMicrosoft.eShopWeb.ApplicationCore .Specifications.BaseSpecification<T> .set_OrderByDescending(Expression<Func<T ,Object>>)
                                          ApplyOrderBy(Expression<Func<T,Object>>)0432 issues068no issue0522 issues0984min 31s0984min 31sMicrosoft.eShopWeb.ApplicationCore .Specifications.BaseSpecification<T> .ApplyOrderBy(Expression<Func<T,Object>> )
                                          ApplyOrderByDescending(Expression<Func<T ,Object>>)0442 issues067no issue0512 issues0974min 31s0974min 31sMicrosoft.eShopWeb.ApplicationCore .Specifications.BaseSpecification<T> .ApplyOrderByDescending(Expression<Func <T,Object>>)
                                          get_RequestId()0412 issues066no issue0612 issues0994min 17s0994min 17sMicrosoft.eShopWeb.Web.Pages.ErrorModel .get_RequestId()

                                          Statistics

                                          Stat   IssuesAdded   IssuesFixed   Issues   Debt   DebtDiff
                                          Sum:22062617d 1h4d 4h
                                          Average:1.520.0411.823min15min
                                          Minimum:1010min 30s-(10min)
                                          Maximum:8283h 32min3h 32min
                                          Standard deviation:0.790.230.8134min23min
                                          Variance:0.620.0530.66149d67d

                                          Object Oriented Design

                                          ok   Validated Rule:    Avoid interfaces too big

                                          No type matched

                                          ok   Validated Rule:    Base class should not use derivatives

                                          No type matched

                                          ok   Validated Rule:    Class shouldn't be too deep in inheritance tree

                                          No type matched

                                          ok   Validated Rule:    Class with no descendant should be sealed if possible

                                          No type matched

                                          ok   Validated Rule:    Overrides of Method() should call base.Method()

                                          No method matched

                                          ok   Validated Rule:    Do not hide base class methods

                                          No method matched

                                          warning   Rule Violated:    A stateless class or structure might be turned into a static type

                                          1 type matched

                                          • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
                                          1 typemethodsUsingMeDebtSeverityFull Name
                                          SlugifyParameterTransformer01 method02min 0s0LowMicrosoft.eShopWeb.Web .SlugifyParameterTransformer
                                          warning   Rule Violated:    Non-static classes should be instantiated or turned to static

                                          2 types matched

                                          • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
                                          2 typesVisibilityDebtSeverityFull Name
                                          PaymentMethod0Public02min 0s0MediumMicrosoft.eShopWeb.ApplicationCore .Entities.BuyerAggregate.PaymentMethod
                                          SpecificationEvaluator<T>1Public12min 0s1MediumMicrosoft.eShopWeb.Infrastructure.Data .SpecificationEvaluator<T>
                                          warning   Rule Violated:    Methods should be declared static if possible

                                          10 methods matched

                                          • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
                                          10 methodsstaticFieldsUsedmethodsCallingMeDebtSeverityFull Name
                                          ConfigurateCatalogItemOrdered (EntityTypeBuilder<CatalogItemOrdered>)03no field051 method051min 0s03MediumMicrosoft.eShopWeb.Infrastructure.Data .CatalogContext .ConfigurateCatalogItemOrdered (EntityTypeBuilder<CatalogItemOrdered>)
                                          ConfigureAddress(EntityTypeBuilder <Address>)04no field021 method021min 0s04MediumMicrosoft.eShopWeb.Infrastructure.Data .CatalogContext.ConfigureAddress (EntityTypeBuilder<Address>)
                                          ConfigureBasket(EntityTypeBuilder<Basket >)02no field031 method031min 0s02MediumMicrosoft.eShopWeb.Infrastructure.Data .CatalogContext.ConfigureBasket (EntityTypeBuilder<Basket>)
                                          ConfigureCatalogItem(EntityTypeBuilder <CatalogItem>)00no field001 method001min 0s00MediumMicrosoft.eShopWeb.Infrastructure.Data .CatalogContext.ConfigureCatalogItem (EntityTypeBuilder<CatalogItem>)
                                          ConfigureCatalogBrand(EntityTypeBuilder <CatalogBrand>)01no field011 method011min 0s01MediumMicrosoft.eShopWeb.Infrastructure.Data .CatalogContext.ConfigureCatalogBrand (EntityTypeBuilder<CatalogBrand>)
                                          ConfigureCatalogType(EntityTypeBuilder <CatalogType>)08no field041 method041min 0s08MediumMicrosoft.eShopWeb.Infrastructure.Data .CatalogContext.ConfigureCatalogType (EntityTypeBuilder<CatalogType>)
                                          ConfigureOrder(EntityTypeBuilder<Order>)09no field071 method071min 0s09MediumMicrosoft.eShopWeb.Infrastructure.Data .CatalogContext.ConfigureOrder (EntityTypeBuilder<Order>)
                                          ConfigureOrderItem(EntityTypeBuilder <OrderItem>)07no field061 method061min 0s07MediumMicrosoft.eShopWeb.Infrastructure.Data .CatalogContext.ConfigureOrderItem (EntityTypeBuilder<OrderItem>)
                                          OnGet()05no field09no method090min 30s05MediumMicrosoft.eShopWeb.Web.Pages .PrivacyModel.OnGet()
                                          OnGet()06no field08no method080min 30s06MediumMicrosoft.eShopWeb.Web.Pages.Basket .CheckoutModel.OnGet()
                                          warning   Rule Violated:    Constructor should not call a virtual method

                                          2 methods matched

                                          • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
                                          2 methodsvirtualMethodsCalledDerivedTypesDebtSeverityFull Name
                                          .ctor(Int32,Int32,Nullable<Int32> ,Nullable<Int32>)11 method0no type16min0HighMicrosoft.eShopWeb.ApplicationCore .Specifications .CatalogFilterPaginatedSpecification. .ctor(Int32,Int32,Nullable<Int32> ,Nullable<Int32>)
                                          .ctor(String)02 methods1no type012min1HighMicrosoft.eShopWeb.ApplicationCore .Specifications .CustomerOrdersWithItemsSpecification. .ctor(String)
                                          ok   Validated Rule:    Avoid the Singleton pattern

                                          No type matched

                                          ok   Validated Rule:    Don't assign static fields from instance methods

                                          No field matched

                                          warning   Rule Violated:    Avoid empty interfaces

                                          1 type matched

                                          • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
                                          1 typeTypesThatImplementMeDebtSeverityFull Name
                                          IAggregateRoot03 types019min0MediumMicrosoft.eShopWeb.ApplicationCore .Interfaces.IAggregateRoot
                                          ok   Validated Rule:    Avoid types initialization cycles

                                          No method matched

                                          API Breaking Changes

                                          warningCritical   Critical Rule Violated:    API Breaking Changes: Types

                                          9 types matched

                                          • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
                                          9 typesNewVisibilityDebtSeverityFull Name
                                          IRepository<T> 220min2HighMicrosoft.eShopWeb.ApplicationCore .Interfaces.IRepository<T>
                                          Basket 320min3HighMicrosoft.eShopWeb.Web.ViewComponents .Basket
                                          ICatalogService 020min0HighMicrosoft.eShopWeb.Web.Services .ICatalogService
                                          CachedCatalogService 120min1HighMicrosoft.eShopWeb.Web.Services .CachedCatalogService
                                          CatalogService 420min4HighMicrosoft.eShopWeb.Web.Services .CatalogService
                                          BasketItemViewModel 720min7HighMicrosoft.eShopWeb.Web.ViewModels .BasketItemViewModel
                                          BasketViewModel 820min8HighMicrosoft.eShopWeb.Web.ViewModels .BasketViewModel
                                          BasketController 520min5HighMicrosoft.eShopWeb.Web.Controllers .BasketController
                                          CatalogController 620min6HighMicrosoft.eShopWeb.Web.Controllers .CatalogController
                                          warningCritical   Critical Rule Violated:    API Breaking Changes: Methods

                                          15 methods matched

                                          • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
                                          15 methodsNewVisibilityDebtSeverityFull Name
                                          .ctor(IAsyncRepository<Basket> ,IRepository<CatalogItem>,IUriComposer ,IAppLogger<BasketService>) 0410min04HighMicrosoft.eShopWeb.ApplicationCore .Services.BasketService..ctor (IAsyncRepository<Basket>,IRepository <CatalogItem>,IUriComposer,IAppLogger <BasketService>)
                                          GetByIdWithItems(Int32) 0510min05HighMicrosoft.eShopWeb.ApplicationCore .Interfaces.IOrderRepository .GetByIdWithItems(Int32)
                                          GetById(Int32) 0610min06HighMicrosoft.eShopWeb.Infrastructure.Data .EfRepository<T>.GetById(Int32)
                                          GetSingleBySpec(ISpecification<T>) 0310min03HighMicrosoft.eShopWeb.Infrastructure.Data .EfRepository<T>.GetSingleBySpec (ISpecification<T>)
                                          ListAll() 0010min00HighMicrosoft.eShopWeb.Infrastructure.Data .EfRepository<T>.ListAll()
                                          List(ISpecification<T>) 0110min01HighMicrosoft.eShopWeb.Infrastructure.Data .EfRepository<T>.List(ISpecification<T>)
                                          Add(T) 0210min02HighMicrosoft.eShopWeb.Infrastructure.Data .EfRepository<T>.Add(T)
                                          Update(T) 0710min07HighMicrosoft.eShopWeb.Infrastructure.Data .EfRepository<T>.Update(T)
                                          Delete(T) 1210min12HighMicrosoft.eShopWeb.Infrastructure.Data .EfRepository<T>.Delete(T)
                                          GetByIdWithItems(Int32) 1310min13HighMicrosoft.eShopWeb.Infrastructure.Data .OrderRepository.GetByIdWithItems(Int32)
                                          Configure(IApplicationBuilder ,IHostingEnvironment) 1410min14HighMicrosoft.eShopWeb.Web.Startup.Configure (IApplicationBuilder,IHostingEnvironment )
                                          .ctor(IAsyncRepository<Basket> ,IRepository<CatalogItem>,IUriComposer) 1110min11HighMicrosoft.eShopWeb.Web.Services .BasketViewModelService..ctor (IAsyncRepository<Basket>,IRepository <CatalogItem>,IUriComposer)
                                          Index() 0810min08HighMicrosoft.eShopWeb.Web.Controllers .ManageController.Index()
                                          Index() 0910min09HighMicrosoft.eShopWeb.Web.Controllers .OrderController.Index()
                                          .ctor(ICatalogService) 1010min10HighMicrosoft.eShopWeb.Web.Controllers.Api .CatalogController..ctor(ICatalogService )
                                          warningCritical   Critical Rule Violated:    API Breaking Changes: Fields

                                          1 field matched

                                          • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
                                          1 fieldNewVisibilityDebtSeverityFull Name
                                          _itemRepositoryPrivate010min0HighMicrosoft.eShopWeb.Web.Services .BasketViewModelService._itemRepository
                                          warningCritical   Critical Rule Violated:    API Breaking Changes: Interfaces and Abstract Classes

                                          3 types matched

                                          • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
                                          3 typesmethodsAddedmethodsRemovedDebtSeverityFull Name
                                          IAsyncRepository<T>11 method1no method010min0HighMicrosoft.eShopWeb.ApplicationCore .Interfaces.IAsyncRepository<T>
                                          IOrderRepository2no method01 method110min1HighMicrosoft.eShopWeb.ApplicationCore .Interfaces.IOrderRepository
                                          ISpecification<T>05 methods2no method210min2HighMicrosoft.eShopWeb.ApplicationCore .Interfaces.ISpecification<T>
                                          ok   Validated Rule:    Broken serializable types

                                          No type matched

                                          ok   Validated Rule:    Avoid changing enumerations Flags status

                                          No type matched

                                          Code Coverage

                                          warning   Rule Violated:    Code should be tested

                                          238 methods matched

                                          238 methodsPercentage Coverage# lines of code (LOC)# lines of code not coveredCyclomatic Complexity (CC)DebtAnnual InterestFull Name
                                          PageNavClass(ViewContext,String)0370%0632061204420536min00018minMicrosoft.eShopWeb.Web.Views.Manage .ManageNavPages.PageNavClass(ViewContext ,String)
                                          GetQuery(IQueryable<T>,ISpecification<T> )00264.29%012140495007703026min00116minMicrosoft.eShopWeb.Infrastructure.Data .SpecificationEvaluator<T>.GetQuery (IQueryable<T>,ISpecification<T>)
                                          Up(MigrationBuilder)0360%0053300533001150003h 46min00210minMicrosoft.eShopWeb.Infrastructure .Identity.Migrations .InitialIdentityModel.Up (MigrationBuilder)
                                          Up(MigrationBuilder)0380%0063200632000150013h 39min00310minMicrosoft.eShopWeb.Infrastructure.Data .Migrations.Initial.Up(MigrationBuilder)
                                          BuildTargetModel(ModelBuilder)0400%0047500475006120063h 22min0079minMicrosoft.eShopWeb.Infrastructure .Identity.Migrations .InitialIdentityModel.BuildTargetModel (ModelBuilder)
                                          BuildModel(ModelBuilder)0390%0027500275005120043h 22min0089minMicrosoft.eShopWeb.Infrastructure .Identity.Migrations .AppIdentityDbContextModelSnapshot .BuildModel(ModelBuilder)
                                          BuildTargetModel(ModelBuilder)0350%0017500375004140033h 22min0069minMicrosoft.eShopWeb.Infrastructure.Data .Migrations.Initial.BuildTargetModel (ModelBuilder)
                                          BuildTargetModel(ModelBuilder)0310%0007500075003140023h 22min0049minMicrosoft.eShopWeb.Infrastructure.Data .Migrations.AddExtraConstraints .BuildTargetModel(ModelBuilder)
                                          BuildModel(ModelBuilder)0300%0037500175002140053h 22min0059minMicrosoft.eShopWeb.Infrastructure.Data .Migrations.CatalogContextModelSnapshot .BuildModel(ModelBuilder)
                                          set_OrderBy(Expression<Func<T,Object>>)0320%0721067105410642min 45s0109minMicrosoft.eShopWeb.ApplicationCore .Specifications.BaseSpecification<T> .set_OrderBy(Expression<Func<T,Object>>)
                                          set_OrderByDescending(Expression<Func<T ,Object>>)0340%0671066105210672min 45s0099minMicrosoft.eShopWeb.ApplicationCore .Specifications.BaseSpecification<T> .set_OrderByDescending(Expression<Func<T ,Object>>)
                                          SeedAsync(CatalogContext,ILoggerFactory ,Nullable<Int32>)00556.25%010160387010602032min0116minMicrosoft.eShopWeb.Infrastructure.Data .CatalogContextSeed.SeedAsync (CatalogContext,ILoggerFactory,Nullable <Int32>)
                                          get_ActivePageKey()0330%0681068105310742min 17s0156minMicrosoft.eShopWeb.Web.Views.Manage .ManageNavPages.get_ActivePageKey()
                                          get_Index()0410%0701065106110782min 17s0166minMicrosoft.eShopWeb.Web.Views.Manage .ManageNavPages.get_Index()
                                          get_ChangePassword()0490%0691069106210772min 17s0176minMicrosoft.eShopWeb.Web.Views.Manage .ManageNavPages.get_ChangePassword()
                                          get_ExternalLogins()0480%0661063106310752min 17s0126minMicrosoft.eShopWeb.Web.Views.Manage .ManageNavPages.get_ExternalLogins()
                                          get_TwoFactorAuthentication()0500%0641062105510732min 17s0136minMicrosoft.eShopWeb.Web.Views.Manage .ManageNavPages .get_TwoFactorAuthentication()
                                          get_RequestId()0520%0651064106010762min 17s0146minMicrosoft.eShopWeb.Web.Pages.ErrorModel .get_RequestId()
                                          GetOrSetBasketCookieAndUserName()0510%03780328036302630min0186minMicrosoft.eShopWeb.Web.Pages.Basket .CheckoutModel .GetOrSetBasketCookieAndUserName()
                                          .ctor()0470%0612060205710584min 8s0196minMicrosoft.eShopWeb.ApplicationCore .Entities.BuyerAggregate.Buyer..ctor()
                                          FormatKey(String)0430%03880348034302530min0205minMicrosoft.eShopWeb.Web.Controllers .ManageController.FormatKey(String)
                                          Index(IndexViewModel)0420%009170081700870071h 29min0215minMicrosoft.eShopWeb.Web.Controllers .ManageController.Index(IndexViewModel)
                                          LoginWith2fa(LoginWith2faViewModel ,Boolean,String)0440%011160091601550091h 25min0225minMicrosoft.eShopWeb.Web.Controllers .AccountController.LoginWith2fa (LoginWith2faViewModel,Boolean,String)
                                          AddErrors(IdentityResult)0460%04850505042203126min0235minMicrosoft.eShopWeb.Web.Controllers .ManageController.AddErrors (IdentityResult)
                                          ListAllRegisteredServices (IApplicationBuilder,LinkGenerator)01011.54%0072600723017401638min0244min 46sMicrosoft.eShopWeb.Web.Startup .ListAllRegisteredServices (IApplicationBuilder,LinkGenerator)
                                          SetBasketModelAsync()00850%0544059205120526min0254min 41sMicrosoft.eShopWeb.Web.Pages.Basket .IndexModel.SetBasketModelAsync()
                                          OnPostAsync(String)0450%013140101400960081h 26min0264min 41sMicrosoft.eShopWeb.Web.Areas.Identity .Pages.Account.LoginModel.OnPostAsync (String)
                                          ConfigureInMemoryDatabases (IServiceCollection)00460%0505058202530613min 12s0274min 29sMicrosoft.eShopWeb.Web.Startup .ConfigureInMemoryDatabases (IServiceCollection)
                                          CreateOrderAsync(Int32,Address)0160%0161301113049202131min0304min 22sMicrosoft.eShopWeb.ApplicationCore .Services.OrderService.CreateOrderAsync (Int32,Address)
                                          ChangePassword(ChangePasswordViewModel)0170%0171301313019401246min0294min 22sMicrosoft.eShopWeb.Web.Controllers .ManageController.ChangePassword (ChangePasswordViewModel)
                                          EnableAuthenticator (EnableAuthenticatorViewModel)0150%015130121302140101h 0min0284min 22sMicrosoft.eShopWeb.Web.Controllers .ManageController.EnableAuthenticator (EnableAuthenticatorViewModel)
                                          set_IdentityGuid(String)0140%0901090105910652min 45s0324min 13sMicrosoft.eShopWeb.ApplicationCore .Entities.BuyerAggregate.Buyer .set_IdentityGuid(String)
                                          set_Code(String)0120%0911091105810932min 17s0314min 13sMicrosoft.eShopWeb.Web.ViewModels .Account.ResetPasswordViewModel.set_Code (String)
                                          Main(String[])0180%0191201412041201836min0354min 3sMicrosoft.eShopWeb.Web.Program.Main (String[])
                                          SetPassword(SetPasswordViewModel)0260%0181201612016401343min0344min 3sMicrosoft.eShopWeb.Web.Controllers .ManageController.SetPassword (SetPasswordViewModel)
                                          LinkLoginCallback()0250%0201201512018401156min0334min 3sMicrosoft.eShopWeb.Web.Controllers .ManageController.LinkLoginCallback()
                                          AddErrors(IdentityResult)0130%04950485038203820min0363min 45sMicrosoft.eShopWeb.Web.Controllers .AccountController.AddErrors (IdentityResult)
                                          SendVerificationEmail(IndexViewModel)0290%0221101711028301933min0373min 44sMicrosoft.eShopWeb.Web.Controllers .ManageController.SendVerificationEmail (IndexViewModel)
                                          SetBasketModelAsync()0280%05340524037204413min0383min 44sMicrosoft.eShopWeb.Web.Pages.Basket .CheckoutModel.SetBasketModelAsync()
                                          set_RequestId(String)0240%0921092108810942min 17s0393min 37sMicrosoft.eShopWeb.Web.Pages.ErrorModel .set_RequestId(String)
                                          set_StatusMessage(String)0200%0871089108710922min 17s0403min 35sMicrosoft.eShopWeb.Web.Controllers .ManageController.set_StatusMessage (String)
                                          GetBasketItemCountAsync(String)0190%0231002010031302330min0433min 26sMicrosoft.eShopWeb.ApplicationCore .Services.BasketService .GetBasketItemCountAsync(String)
                                          Down(MigrationBuilder)0210%0251002110090104313min0423min 26sMicrosoft.eShopWeb.Infrastructure.Data .Migrations.Initial.Down (MigrationBuilder)
                                          ExternalLogins()0230%0241001910012501442min0413min 26sMicrosoft.eShopWeb.Web.Controllers .ManageController.ExternalLogins()
                                          SetQuantities(Int32,Dictionary<String ,Int32>)0119.09%0211101810033302430min0443min 24sMicrosoft.eShopWeb.ApplicationCore .Services.BasketService.SetQuantities (Int32,Dictionary<String,Int32>)
                                          CheckHealthAsync(HealthCheckContext ,CancellationToken)0220%02990249039203622min0473min 7sMicrosoft.eShopWeb.Web.HealthChecks .ApiHealthCheck.CheckHealthAsync (HealthCheckContext,CancellationToken)
                                          RemoveLogin(RemoveLoginViewModel)0270%02890259029302927min0483min 7sMicrosoft.eShopWeb.Web.Controllers .ManageController.RemoveLogin (RemoveLoginViewModel)
                                          EnableAuthenticator()0840%02690239032302727min0453min 7sMicrosoft.eShopWeb.Web.Controllers .ManageController.EnableAuthenticator()
                                          GenerateRecoveryCodes()0830%02790229035302827min0463min 7sMicrosoft.eShopWeb.Web.Controllers .ManageController.GenerateRecoveryCodes( )
                                          get_StatusMessage()0850%0711070105610722min 17s0493min 2sMicrosoft.eShopWeb.Web.Controllers .ManageController.get_StatusMessage()
                                          CheckHealthAsync(HealthCheckContext ,CancellationToken)0870%03180318040203720min0542min 48sMicrosoft.eShopWeb.Web.HealthChecks .HomePageHealthCheck.CheckHealthAsync (HealthCheckContext,CancellationToken)
                                          .ctor(IBasketService ,IBasketViewModelService,IUriComposer ,SignInManager<ApplicationUser> ,IOrderService)0860%03380338086104610min0552min 48sMicrosoft.eShopWeb.Web.Pages.Basket .CheckoutModel..ctor(IBasketService ,IBasketViewModelService,IUriComposer ,SignInManager<ApplicationUser> ,IOrderService)
                                          Register(RegisterViewModel,String)0820%03480278022303525min0562min 48sMicrosoft.eShopWeb.Web.Controllers .AccountController.Register (RegisterViewModel,String)
                                          ChangePassword()0780%03580268027303225min0532min 48sMicrosoft.eShopWeb.Web.Controllers .ManageController.ChangePassword()
                                          SetPassword()0770%03680308024303425min0502min 48sMicrosoft.eShopWeb.Web.Controllers .ManageController.SetPassword()
                                          Disable2fa()0790%03280298026303325min0512min 48sMicrosoft.eShopWeb.Web.Controllers .ManageController.Disable2fa()
                                          Detail(Int32)0810%03080288020401538min0522min 48sMicrosoft.eShopWeb.Web.Controllers .OrderController.Detail(Int32)
                                          .ctor(String)0800%0563054308310516min0572min 44sMicrosoft.eShopWeb.ApplicationCore .Specifications .CustomerOrdersWithItemsSpecification. .ctor(String)
                                          Down(MigrationBuilder)0880%04070407082104710min0602min 29sMicrosoft.eShopWeb.Infrastructure .Identity.Migrations .InitialIdentityModel.Down (MigrationBuilder)
                                          ConfirmEmail(String,String)0960%04270377014502230min0592min 29sMicrosoft.eShopWeb.Web.Controllers .AccountController.ConfirmEmail(String ,String)
                                          ResetAuthenticator()0950%04170367047204017min0582min 29sMicrosoft.eShopWeb.Web.Controllers .ManageController.ResetAuthenticator()
                                          SignIn(LoginViewModel,String)00650%014140357013501737min0612min 20sMicrosoft.eShopWeb.Web.Controllers .AccountController.SignIn(LoginViewModel ,String)
                                          NullBasket(IGuardClause,Int32,Basket)00750%0602087104820603min 21s0622min 12sArdalis.GuardClauses.BasketGuards .NullBasket(IGuardClause,Int32,Basket)
                                          AddInclude(String)0970%0891088108510682min 31s0632min 11sMicrosoft.eShopWeb.ApplicationCore .Specifications.BaseSpecification<T> .AddInclude(String)
                                          Up(MigrationBuilder)0990%0456046608410488min0672min 11sMicrosoft.eShopWeb.Infrastructure.Data .Migrations.AddExtraConstraints.Up (MigrationBuilder)
                                          Down(MigrationBuilder)0980%0466044609710498min0682min 11sMicrosoft.eShopWeb.Infrastructure.Data .Migrations.AddExtraConstraints.Down (MigrationBuilder)
                                          LoginWith2fa(Boolean,String)0940%04760416050204115min0662min 11sMicrosoft.eShopWeb.Web.Controllers .AccountController.LoginWith2fa(Boolean ,String)
                                          .ctor(UserManager<ApplicationUser> ,SignInManager<ApplicationUser> ,IEmailSender,IAppLogger <ManageController>,UrlEncoder)0900%0436045609610508min0642min 11sMicrosoft.eShopWeb.Web.Controllers .ManageController..ctor(UserManager <ApplicationUser>,SignInManager <ApplicationUser>,IEmailSender ,IAppLogger<ManageController>,UrlEncoder )
                                          Disable2faWarning()0890%04460426023303919min0652min 11sMicrosoft.eShopWeb.Web.Controllers .ManageController.Disable2faWarning()
                                          TransferBasketAsync(String,String)00925%03980436043204215min0692min 6sMicrosoft.eShopWeb.ApplicationCore .Services.BasketService .TransferBasketAsync(String,String)
                                          ApplyOrderBy(Expression<Func<T,Object>>)0910%0931097109910692min 31s0892min 0sMicrosoft.eShopWeb.ApplicationCore .Specifications.BaseSpecification<T> .ApplyOrderBy(Expression<Func<T,Object>> )
                                          ApplyOrderByDescending(Expression<Func<T ,Object>>)0930%0971098109810712min 31s0902min 0sMicrosoft.eShopWeb.ApplicationCore .Specifications.BaseSpecification<T> .ApplyOrderByDescending(Expression<Func <T,Object>>)
                                          .ctor(IAsyncRepository<Basket> ,IAsyncRepository<CatalogItem> ,IAsyncRepository<Order>)0920%0554051409510555min0912min 0sMicrosoft.eShopWeb.ApplicationCore .Services.OrderService..ctor (IAsyncRepository<Basket> ,IAsyncRepository<CatalogItem> ,IAsyncRepository<Order>)
                                          .ctor(SerializationInfo,StreamingContext )0760%0981099109210702min 31s0882min 0sMicrosoft.eShopWeb.ApplicationCore .Exceptions.BasketNotFoundException. .ctor(SerializationInfo,StreamingContext )
                                          .ctor(String)0600%0991096109110912min 17s0852min 0sMicrosoft.eShopWeb.ApplicationCore .Exceptions.BasketNotFoundException. .ctor(String)
                                          .ctor(String,Exception)0590%0941093109410982min 17s0862min 0sMicrosoft.eShopWeb.ApplicationCore .Exceptions.BasketNotFoundException. .ctor(String,Exception)
                                          set_OrderDate(DateTimeOffset)0610%0951094109310662min 45s0872min 0sMicrosoft.eShopWeb.ApplicationCore .Entities.OrderAggregate.Order .set_OrderDate(DateTimeOffset)
                                          get_IdentityGuid()0630%0961095107010992min 17s0922min 0sMicrosoft.eShopWeb.ApplicationCore .Entities.BuyerAggregate.Buyer .get_IdentityGuid()
                                          get_PaymentMethods()0620%0861085106910972min 17s0972min 0sMicrosoft.eShopWeb.ApplicationCore .Entities.BuyerAggregate.Buyer .get_PaymentMethods()
                                          .ctor(String)0580%0573053307210574min 35s0982min 0sMicrosoft.eShopWeb.ApplicationCore .Entities.BuyerAggregate.Buyer..ctor (String)
                                          get_Alias()0540%0761075107110952min 17s0992min 0sMicrosoft.eShopWeb.ApplicationCore .Entities.BuyerAggregate.PaymentMethod .get_Alias()
                                          set_Alias(String)0530%0771076106810962min 17s0962min 0sMicrosoft.eShopWeb.ApplicationCore .Entities.BuyerAggregate.PaymentMethod .set_Alias(String)
                                          get_CardId()0550%0781077106510892min 17s0932min 0sMicrosoft.eShopWeb.ApplicationCore .Entities.BuyerAggregate.PaymentMethod .get_CardId()
                                          set_CardId(String)0570%0731074106410822min 17s0942min 0sMicrosoft.eShopWeb.ApplicationCore .Entities.BuyerAggregate.PaymentMethod .set_CardId(String)
                                          get_Last4()0560%0741071106710832min 17s0952min 0sMicrosoft.eShopWeb.ApplicationCore .Entities.BuyerAggregate.PaymentMethod .get_Last4()
                                          set_Last4(String)0640%0751072106610812min 17s0742min 0sMicrosoft.eShopWeb.ApplicationCore .Entities.BuyerAggregate.PaymentMethod .set_Last4(String)
                                          SendEmailAsync(String,String,String)0720%0791073107910792min 17s0752min 0sMicrosoft.eShopWeb.Infrastructure .Services.EmailSender.SendEmailAsync (String,String,String)
                                          LogWarning(String,Object[])0710%0831082107810802min 17s0762min 0sMicrosoft.eShopWeb.Infrastructure .Logging.LoggerAdapter<T>.LogWarning (String,Object[])
                                          LogInformation(String,Object[])0730%0841083108110872min 17s0732min 0sMicrosoft.eShopWeb.Infrastructure .Logging.LoggerAdapter<T>.LogInformation (String,Object[])
                                          get_Baskets()0750%0851084108010882min 17s0702min 0sMicrosoft.eShopWeb.Infrastructure.Data .CatalogContext.get_Baskets()
                                          get_OrderItems()0740%0801081107710862min 17s0712min 0sMicrosoft.eShopWeb.Infrastructure.Data .CatalogContext.get_OrderItems()
                                          EmailConfirmationLink(IUrlHelper,String ,String,String)0700%0811078107410842min 17s0722min 0sMicrosoft.AspNetCore.Mvc .UrlHelperExtensions .EmailConfirmationLink(IUrlHelper,String ,String,String)
                                          ResetPasswordCallbackLink(IUrlHelper ,String,String,String)0660%0821079107310852min 17s0772min 0sMicrosoft.AspNetCore.Mvc .UrlHelperExtensions .ResetPasswordCallbackLink(IUrlHelper ,String,String,String)
                                          TransformOutbound(Object)00166.67%0593080104620632min 59s0822min 0sMicrosoft.eShopWeb.Web .SlugifyParameterTransformer .TransformOutbound(Object)
                                          ConfigureProductionServices (IServiceCollection)0650%0525047503030546min0832min 0sMicrosoft.eShopWeb.Web.Startup .ConfigureProductionServices (IServiceCollection)
                                          CreateIdentityIfNotCreated (IServiceCollection)00360%0515057204520623min 12s0842min 0sMicrosoft.eShopWeb.Web.Startup .CreateIdentityIfNotCreated (IServiceCollection)
                                          Configure(IApplicationBuilder ,IHostingEnvironment,LinkGenerator)00066.67%008210397011604512min0812min 0sMicrosoft.eShopWeb.Web.Startup.Configure (IApplicationBuilder,IHostingEnvironment ,LinkGenerator)
                                          .ctor(IHttpContextAccessor,LinkGenerator )0670%0583055307610564min 35s0782min 0sMicrosoft.eShopWeb.Web.HealthChecks .ApiHealthCheck..ctor (IHttpContextAccessor,LinkGenerator)
                                          .ctor(IHttpContextAccessor)0690%0622056207510593min 26s0792min 0sMicrosoft.eShopWeb.Web.HealthChecks .HomePageHealthCheck..ctor (IHttpContextAccessor)
                                          SendEmailConfirmationAsync(IEmailSender ,String,String)0680%0881086108910902min 17s0802min 0sMicrosoft.eShopWeb.Web.Services .EmailSenderExtensions .SendEmailConfirmationAsync(IEmailSender ,String,String)

                                          Statistics

                                          Stat   Percentage Coverage   # lines of code (LOC)   # lines of code not covered   Cyclomatic Complexity (CC)   Debt   Annual Interest
                                          Sum:836.171 1521 0824497d 0h1d 3h
                                          Average:3.514.844.551.8914min2min 53s
                                          Minimum:00012min 0s2min 0s
                                          Maximum:66.677575153h 46min18min
                                          Standard deviation:13.9911.3411.232.3536min2min 12s
                                          Variance:195.66128.7126.075.54166d4h 51min
                                          warning   Rule Violated:    New Methods should be tested

                                          40 methods matched

                                          • Formatting: bold means added, underlined means code was changed, strike-bold means removed (since baseline)
                                          40 methodsPercentage Coverage# lines of code (LOC)# lines of code not coveredDebtSeverityFull Name
                                          BuildTargetModel(ModelBuilder)130%007500750210min13HighMicrosoft.eShopWeb.Infrastructure.Data .Migrations.AddExtraConstraints .BuildTargetModel(ModelBuilder)
                                          ListAllRegisteredServices (IApplicationBuilder,LinkGenerator)0011.54%012601230010min14HighMicrosoft.eShopWeb.Web.Startup .ListAllRegisteredServices (IApplicationBuilder,LinkGenerator)
                                          OnPostAsync(String)140%021402140110min12HighMicrosoft.eShopWeb.Web.Areas.Identity .Pages.Account.LoginModel.OnPostAsync (String)
                                          CheckHealthAsync(HealthCheckContext ,CancellationToken)110%039039039min10HighMicrosoft.eShopWeb.Web.HealthChecks .ApiHealthCheck.CheckHealthAsync (HealthCheckContext,CancellationToken)
                                          CheckHealthAsync(HealthCheckContext ,CancellationToken)120%068068068min11HighMicrosoft.eShopWeb.Web.HealthChecks .HomePageHealthCheck.CheckHealthAsync (HealthCheckContext,CancellationToken)
                                          .ctor(IBasketService ,IBasketViewModelService,IUriComposer ,SignInManager<ApplicationUser> ,IOrderService)150%048048048min18HighMicrosoft.eShopWeb.Web.Pages.Basket .CheckoutModel..ctor(IBasketService ,IBasketViewModelService,IUriComposer ,SignInManager<ApplicationUser> ,IOrderService)
                                          GetOrSetBasketCookieAndUserName()180%058058058min19HighMicrosoft.eShopWeb.Web.Pages.Basket .CheckoutModel .GetOrSetBasketCookieAndUserName()
                                          Up(MigrationBuilder)190%086086086min17HighMicrosoft.eShopWeb.Infrastructure.Data .Migrations.AddExtraConstraints.Up (MigrationBuilder)
                                          Down(MigrationBuilder)160%076076076min15HighMicrosoft.eShopWeb.Infrastructure.Data .Migrations.AddExtraConstraints.Down (MigrationBuilder)
                                          OnPost(Dictionary<String,Int32>)170%115115115min16HighMicrosoft.eShopWeb.Web.Pages.Basket .CheckoutModel.OnPost(Dictionary<String ,Int32>)
                                          MyAccount()100%095095095min03HighMicrosoft.eShopWeb.Web.Controllers .ManageController.MyAccount()
                                          MyOrders()030%105105105min04HighMicrosoft.eShopWeb.Web.Controllers .OrderController.MyOrders()
                                          SetBasketModelAsync()040%124124124min 40s02HighMicrosoft.eShopWeb.Web.Pages.Basket .CheckoutModel.SetBasketModelAsync()
                                          .ctor(IHttpContextAccessor,LinkGenerator )010%163163163min 46s00HighMicrosoft.eShopWeb.Web.HealthChecks .ApiHealthCheck..ctor (IHttpContextAccessor,LinkGenerator)
                                          GetBrands()020%153153153min 46s01HighMicrosoft.eShopWeb.Web.Services .CachedCatalogViewModelService.GetBrands ()
                                          GetTypes()050%133133133min 46s08HighMicrosoft.eShopWeb.Web.Services .CachedCatalogViewModelService.GetTypes( )
                                          OnPostUpdate(Dictionary<String,Int32>)080%143143143min 46s09HighMicrosoft.eShopWeb.Web.Pages.Basket .IndexModel.OnPostUpdate(Dictionary <String,Int32>)
                                          .ctor(IHttpContextAccessor)090%172172172min 53s07HighMicrosoft.eShopWeb.Web.HealthChecks .HomePageHealthCheck..ctor (IHttpContextAccessor)
                                          set_OrderBy(Expression<Func<T,Object>>)060%181181182min 0s05HighMicrosoft.eShopWeb.ApplicationCore .Specifications.BaseSpecification<T> .set_OrderBy(Expression<Func<T,Object>>)
                                          set_OrderByDescending(Expression<Func<T ,Object>>)070%191191192min 0s06HighMicrosoft.eShopWeb.ApplicationCore .Specifications.BaseSpecification<T> .set_OrderByDescending(Expression<Func<T ,Object>>)
                                          ApplyOrderBy(Expression<Func<T,Object>>)330%331331332min 0s33HighMicrosoft.eShopWeb.ApplicationCore .Specifications.BaseSpecification<T> .ApplyOrderBy(Expression<Func<T,Object>> )
                                          ApplyOrderByDescending(Expression<Func<T ,Object>>)340%341341342min 0s34HighMicrosoft.eShopWeb.ApplicationCore .Specifications.BaseSpecification<T> .ApplyOrderByDescending(Expression<Func <T,Object>>)
                                          get_RequestId()320%311311312min 0s32HighMicrosoft.eShopWeb.Web.Pages.ErrorModel .get_RequestId()
                                          set_RequestId(String)300%321321322min 0s30HighMicrosoft.eShopWeb.Web.Pages.ErrorModel .set_RequestId(String)
                                          get_ShowRequestId()310%351351352min 0s31HighMicrosoft.eShopWeb.Web.Pages.ErrorModel .get_ShowRequestId()
                                          OnGet()380%381381382min 0s38HighMicrosoft.eShopWeb.Web.Pages.ErrorModel .OnGet()
                                          get_CatalogItemId()390%391391392min 0s39HighMicrosoft.eShopWeb.Web.Pages.Basket .BasketItemViewModel.get_CatalogItemId()
                                          get_OldUnitPrice()370%361361362min 0s37HighMicrosoft.eShopWeb.Web.Pages.Basket .BasketItemViewModel.get_OldUnitPrice()
                                          set_OldUnitPrice(Decimal)350%371371372min 0s35HighMicrosoft.eShopWeb.Web.Pages.Basket .BasketItemViewModel.set_OldUnitPrice (Decimal)
                                          get_BuyerId()