Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove the non-controversial, straightforward obsoleted constructs for Umbraco 16 #18661

Open
wants to merge 85 commits into
base: v16/dev
Choose a base branch
from

Removed obsolete constructors on PublishedCacheBase.

59a56e8
Select commit
Loading
Failed to load commit list.
Open

Remove the non-controversial, straightforward obsoleted constructs for Umbraco 16 #18661

Removed obsolete constructors on PublishedCacheBase.
59a56e8
Select commit
Loading
Failed to load commit list.
CodeScene Delta Analysis / CodeScene Cloud Delta Analysis (v16/dev) failed Mar 14, 2025 in 3m 28s

CodeScene PR Check

Quality Gate Failed

Code Health Improved (30 files improve in Code Health)

Gates Failed
Enforce advisory code health rules (3 files with Code Duplication, String Heavy Function Arguments)

Gates Passed
3 Quality Gates Passed

See analysis details in CodeScene

Reason for failure
Enforce advisory code health rules Violations Code Health Impact
PackagingService.cs 1 advisory rule 8.16 → 7.67 Suppress
DbProviderFactoryCreator.cs 1 advisory rule 9.69 → 9.39 Suppress
ByRouteContentApiController.cs 1 advisory rule 9.10 → 9.39 Suppress
View Improvements
File Code Health Impact Categories Improved
JsonConfigManipulator.cs no change Primitive Obsession, String Heavy Function Arguments
DatabaseBuilder.cs no change Complex Method
RuntimeState.cs 8.51 → 8.52 Complex Method, Overall Code Complexity
UmbracoBuilder.cs 8.63 → 8.64 Large Method, Constructor Over-Injection
ServiceCollectionExtensions.cs no change Excess Number of Function Arguments
AuditNotificationsHandler.cs no change Constructor Over-Injection
MediaFileManager.cs 9.39 → 9.69 Constructor Over-Injection
ViewHelper.cs 9.69 → 10.00 String Heavy Function Arguments
OEmbedProviderBase.cs no change Primitive Obsession
TrackedReferencesService.cs 8.28 → 10.00 Code Duplication, Primitive Obsession
TrackedReferencesRepository.cs 6.63 → 7.72 Code Duplication, Overall Function Size, Overall Code Complexity, Primitive Obsession, Excess Number of Function Arguments
MarkDownPropertyValueEditor.cs 9.69 → 10.00 Constructor Over-Injection
FileUploadPropertyValueEditor.cs no change Constructor Over-Injection
ImageCropperPropertyValueEditor.cs no change Constructor Over-Injection
TextOnlyValueEditor.cs no change Complex Method
MediaCache.cs no change Primitive Obsession
PublishedRequest.cs no change Constructor Over-Injection
ContentPermissions.cs 7.60 → 8.87 Code Duplication, Overall Code Complexity, Primitive Obsession
AuditService.cs 7.22 → 7.44 Code Duplication, Missing Arguments Abstractions, Constructor Over-Injection
ContentService.cs 2.28 → 2.33 Lines of Code in a Single File, Number of Functions in a Single Module, Code Duplication, Constructor Over-Injection
ContentTypeEditingService.cs 9.10 → 9.69 Code Duplication
MediaTypeEditingService.cs 9.10 → 9.69 Code Duplication, Constructor Over-Injection
MemberTypeEditingService.cs no change Code Duplication, Constructor Over-Injection
ContentTypeService.cs no change Constructor Over-Injection
ContentTypeServiceBaseOfTRepositoryTItemTService.cs 6.55 → 7.62 Lines of Code in a Single File, Code Duplication, Constructor Over-Injection
ContentVersionService.cs no change Excess Number of Function Arguments, Constructor Over-Injection
FileService.cs no change Constructor Over-Injection
DataTypeService.cs no change Primitive Obsession
PackageDataInstallation.cs 2.79 → 2.99 Lines of Code in a Single File, Code Duplication, Constructor Over-Injection
PackagingService.cs 8.16 → 7.67 Constructor Over-Injection
TwoFactorLoginService.cs 9.10 → 9.39 Primitive Obsession, String Heavy Function Arguments
MediaService.cs no change Constructor Over-Injection
MediaTypeService.cs no change Constructor Over-Injection
MemberTypeService.cs 9.10 → 9.69 Code Duplication, Constructor Over-Injection
PropertyValidationService.cs 7.11 → 7.33 Primitive Obsession, Excess Number of Function Arguments
PublicAccessService.cs no change Constructor Over-Injection
RelationService.cs no change Constructor Over-Injection
UserService.cs no change Lines of Code in a Single File, Number of Functions in a Single Module, Constructor Over-Injection
UserServiceExtensions.cs 9.69 → 10.00 Primitive Obsession
ByRouteContentApiController.cs 9.10 → 9.39 Code Duplication, Constructor Over-Injection
QueryContentApiController.cs no change Excess Number of Function Arguments
MemberController.cs 9.10 → 9.39 Constructor Over-Injection
SearchDocumentItemController.cs no change Excess Number of Function Arguments
SearchMediaItemController.cs no change Excess Number of Function Arguments
UserPresentationFactory.cs no change Code Duplication
BackOfficeSignInManager.cs no change Constructor Over-Injection
sdk.gen.ts no change Lines of Code in a Single File, Number of Functions in a Single Module, Code Duplication
ContentValueSetBuilder.cs no change Constructor Over-Injection
DeliveryApiContentIndexValueSetBuilder.cs 7.74 → 8.23 Code Duplication, Constructor Over-Injection
DeliveryApiIndexingHandler.cs 9.10 → 9.69 Code Duplication
ModelsGenerationError.cs 9.39 → 10.00 Code Duplication
CreatedPackageSchemaRepository.cs 7.00 → 7.21 Code Duplication, Constructor Over-Injection
BlockEditorPropertyValueEditor.cs no change Constructor Over-Injection
BlockValuePropertyValueEditorBase.cs no change Constructor Over-Injection
RichTextEditorPastedImages.cs 8.50 → 9.34 Code Duplication, Missing Arguments Abstractions, Constructor Over-Injection
BlockEditorVarianceHandler.cs 8.55 → 9.10 Overall Code Complexity
BlockListPropertyValueConverter.cs no change Constructor Over-Injection
RteBlockRenderingValueConverter.cs 8.16 → 8.41 Missing Arguments Abstractions, Constructor Over-Injection
CoreRuntime.cs 8.61 → 9.17 Code Duplication, Constructor Over-Injection
MemberPasswordHasher.cs 9.19 → 9.49 String Heavy Function Arguments
MemberEditingService.cs no change Constructor Over-Injection
IndexInitializer.cs 8.11 → 8.63 Code Duplication, Constructor Over-Injection
OpenApiContractTest.cs no change Lines of Declarations in a Single File
UrlHelperExtensions.cs no change Excess Number of Function Arguments
InMemoryModelFactory.cs no change Constructor Over-Injection
MemberSignInManager.cs no change Constructor Over-Injection
UmbracoSignInManager.cs no change Constructor Over-Injection

Absence of Expected Change Pattern

  • Umbraco-CMS/src/Umbraco.Infrastructure/ModelsBuilder/ModelsGenerationError.cs is usually changed with: Umbraco-CMS/src/Umbraco.Infrastructure/ModelsBuilder/OutOfDateModelsStatus.cs
  • Umbraco-CMS/src/Umbraco.Infrastructure/PropertyEditors/BlockListPropertyEditorBase.cs is usually changed with: Umbraco-CMS/src/Umbraco.Infrastructure/PropertyEditors/BlockGridPropertyEditorBase.cs

Quality Gate Profile: Clean Code Collective
Want more control? Customize Code Health rules or catch issues early with our IDE extension and CLI tool.

Details

🚩 Declining Code Health (highest to lowest):

  • Code Duplication PackagingService.cs
  • String Heavy Function Arguments ByRouteContentApiController.cs
  • String Heavy Function Arguments DbProviderFactoryCreator.cs

✅ Improving Code Health:

  • Code Duplication sdk.gen.ts
  • Code Duplication ContentService.cs
  • Large Method UmbracoBuilder.cs: AddCoreServices
  • Code Duplication AuditService.cs
  • Code Duplication CreatedPackageSchemaRepository.cs
  • Code Duplication UserPresentationFactory.cs
  • Lines of Code in a Single File ContentService.cs
  • Code Duplication MemberTypeEditingService.cs
  • Lines of Code in a Single File UserService.cs
  • Lines of Code in a Single File PackageDataInstallation.cs
  • Code Duplication TrackedReferencesRepository.cs
  • Overall Code Complexity TrackedReferencesRepository.cs
  • Overall Code Complexity RuntimeState.cs
  • Lines of Code in a Single File sdk.gen.ts
  • Complex Method RuntimeState.cs: DetermineRuntimeLevel
  • Constructor Over-Injection UmbracoBuilder.cs: UmbracoBuilder
  • Primitive Obsession OEmbedProviderBase.cs
  • Missing Arguments Abstractions AuditService.cs
  • Number of Functions in a Single Module ContentService.cs
  • Primitive Obsession DataTypeService.cs
  • Primitive Obsession TwoFactorLoginService.cs
  • Number of Functions in a Single Module UserService.cs
  • Primitive Obsession JsonConfigManipulator.cs
  • String Heavy Function Arguments JsonConfigManipulator.cs
  • Complex Method DatabaseBuilder.cs: ConfigureDatabaseConnection
  • Primitive Obsession TrackedReferencesRepository.cs
  • Constructor Over-Injection FileUploadPropertyValueEditor.cs: FileUploadPropertyValueEditor
  • Constructor Over-Injection ImageCropperPropertyValueEditor.cs: ImageCropperPropertyValueEditor
  • Primitive Obsession MediaCache.cs
  • Excess Number of Function Arguments ServiceCollectionExtensions.cs: AddTypeLoader
  • Number of Functions in a Single Module sdk.gen.ts
  • Lines of Declarations in a Single File OpenApiContractTest.cs
  • Excess Number of Function Arguments SearchDocumentItemController.cs: SearchFromParent
  • Excess Number of Function Arguments SearchMediaItemController.cs: SearchFromParent
  • Constructor Over-Injection BackOfficeSignInManager.cs: BackOfficeSignInManager
  • Constructor Over-Injection UmbracoBuilder.cs: UmbracoBuilder
  • Constructor Over-Injection AuditNotificationsHandler.cs: AuditNotificationsHandler
  • Complex Method TextOnlyValueEditor.cs: ToEditor
  • Constructor Over-Injection PublishedRequest.cs: PublishedRequest
  • Constructor Over-Injection MediaTypeEditingService.cs: MediaTypeEditingService
  • Constructor Over-Injection MemberTypeEditingService.cs: MemberTypeEditingService
  • Constructor Over-Injection ContentTypeService.cs: ContentTypeService
  • Constructor Over-Injection ContentVersionService.cs: ContentVersionService
  • Constructor Over-Injection FileService.cs: FileService
  • Constructor Over-Injection MediaService.cs: MediaService
  • Constructor Over-Injection MediaTypeService.cs: MediaTypeService
  • Excess Number of Function Arguments PropertyValidationService.cs: ValidatePropertyValue
  • Constructor Over-Injection PublicAccessService.cs: PublicAccessService
  • Constructor Over-Injection RelationService.cs: RelationService
  • Constructor Over-Injection UserService.cs: UserService
  • Constructor Over-Injection ContentValueSetBuilder.cs: ContentValueSetBuilder
  • Constructor Over-Injection BlockEditorPropertyValueEditor.cs: BlockEditorPropertyValueEditor
  • Constructor Over-Injection BlockValuePropertyValueEditorBase.cs: BlockValuePropertyValueEditorBase
  • Constructor Over-Injection BlockListPropertyValueConverter.cs: BlockListPropertyValueConverter
  • Constructor Over-Injection RteBlockRenderingValueConverter.cs: RteBlockRenderingValueConverter
  • Constructor Over-Injection PackagingService.cs: PackagingService
  • Constructor Over-Injection MemberEditingService.cs: MemberEditingService
  • Constructor Over-Injection InMemoryModelFactory.cs: InMemoryModelFactory
  • Constructor Over-Injection MemberSignInManager.cs: MemberSignInManager
  • Constructor Over-Injection UmbracoSignInManager.cs: UmbracoSignInManager
  • Constructor Over-Injection ByRouteContentApiController.cs: ByRouteContentApiController
  • Constructor Over-Injection ByRouteContentApiController.cs: ByRouteContentApiController
  • Excess Number of Function Arguments QueryContentApiController.cs: Query
  • Constructor Over-Injection AuditService.cs: AuditService
  • Constructor Over-Injection AuditService.cs: AuditService
  • Constructor Over-Injection ContentTypeServiceBaseOfTRepositoryTItemTService.cs: ContentTypeServiceBase
  • Constructor Over-Injection ContentTypeServiceBaseOfTRepositoryTItemTService.cs: ContentTypeServiceBase
  • Excess Number of Function Arguments ContentVersionService.cs: GetPagedContentVersions
  • Constructor Over-Injection MemberTypeService.cs: MemberTypeService
  • Constructor Over-Injection MemberTypeService.cs: MemberTypeService
  • Constructor Over-Injection DeliveryApiContentIndexValueSetBuilder.cs: DeliveryApiContentIndexValueSetBuilder
  • Constructor Over-Injection DeliveryApiContentIndexValueSetBuilder.cs: DeliveryApiContentIndexValueSetBuilder
  • Constructor Over-Injection PackageDataInstallation.cs: PackageDataInstallation
  • Constructor Over-Injection CreatedPackageSchemaRepository.cs: CreatedPackageSchemaRepository
  • Constructor Over-Injection CreatedPackageSchemaRepository.cs: CreatedPackageSchemaRepository
  • Constructor Over-Injection CoreRuntime.cs: CoreRuntime
  • Constructor Over-Injection CoreRuntime.cs: CoreRuntime
  • Constructor Over-Injection RichTextEditorPastedImages.cs: RichTextEditorPastedImages
  • Constructor Over-Injection IndexInitializer.cs: IndexInitializer
  • Constructor Over-Injection IndexInitializer.cs: IndexInitializer
  • Constructor Over-Injection IndexInitializer.cs: IndexInitializer
  • Constructor Over-Injection ContentService.cs: ContentService
  • Constructor Over-Injection ContentService.cs: ContentService
  • Constructor Over-Injection RichTextEditorPastedImages.cs: RichTextEditorPastedImages
  • Constructor Over-Injection RichTextEditorPastedImages.cs: RichTextEditorPastedImages
  • Constructor Over-Injection RichTextEditorPastedImages.cs: RichTextEditorPastedImages
  • Excess Number of Function Arguments TrackedReferencesRepository.cs: GetPagedRelationsForItem
  • Excess Number of Function Arguments TrackedReferencesRepository.cs: GetPagedRelationsForItem
  • Excess Number of Function Arguments TrackedReferencesRepository.cs: GetPagedItemsWithRelations
  • Excess Number of Function Arguments TrackedReferencesRepository.cs: GetPagedDescendantsInReferences
  • Excess Number of Function Arguments TrackedReferencesRepository.cs: GetPagedItemsWithRelations
  • Excess Number of Function Arguments TrackedReferencesRepository.cs: GetPagedDescendantsInReferences
  • Excess Number of Function Arguments UrlHelperExtensions.cs: GetUmbracoApiService
  • Code Duplication ByRouteContentApiController.cs
  • Constructor Over-Injection MemberController.cs: MemberController
  • Constructor Over-Injection MediaFileManager.cs: MediaFileManager
  • String Heavy Function Arguments ViewHelper.cs
  • Constructor Over-Injection MarkDownPropertyValueEditor.cs: MarkDownPropertyValueEditor
  • Code Duplication ContentPermissions.cs
  • Overall Code Complexity ContentPermissions.cs
  • Primitive Obsession ContentPermissions.cs
  • Code Duplication ContentTypeEditingService.cs
  • Code Duplication MediaTypeEditingService.cs
  • Lines of Code in a Single File ContentTypeServiceBaseOfTRepositoryTItemTService.cs
  • Code Duplication ContentTypeServiceBaseOfTRepositoryTItemTService.cs
  • Code Duplication MemberTypeService.cs
  • Primitive Obsession PropertyValidationService.cs
  • Code Duplication TrackedReferencesService.cs
  • Primitive Obsession TrackedReferencesService.cs
  • String Heavy Function Arguments TwoFactorLoginService.cs
  • Primitive Obsession UserServiceExtensions.cs
  • Code Duplication DeliveryApiContentIndexValueSetBuilder.cs
  • Code Duplication DeliveryApiIndexingHandler.cs
  • Code Duplication ModelsGenerationError.cs
  • Code Duplication PackageDataInstallation.cs
  • Overall Function Size TrackedReferencesRepository.cs
  • Code Duplication RichTextEditorPastedImages.cs
  • Missing Arguments Abstractions RichTextEditorPastedImages.cs
  • Overall Code Complexity BlockEditorVarianceHandler.cs
  • Missing Arguments Abstractions RteBlockRenderingValueConverter.cs
  • Code Duplication CoreRuntime.cs
  • String Heavy Function Arguments MemberPasswordHasher.cs
  • Code Duplication IndexInitializer.cs

Annotations

Check notice on line 1 in src/Umbraco.Infrastructure/Configuration/JsonConfigManipulator.cs

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Cloud Delta Analysis (v16/dev)

✅ Getting better: Primitive Obsession

The ratio of primitive types in function arguments decreases from 70.37% to 61.90%, threshold = 30.0%. The functions in this file have too many primitive types (e.g. int, double, float) in their function argument lists. Using many primitive types lead to the code smell Primitive Obsession. Avoid adding more primitive arguments.

Check notice on line 1 in src/Umbraco.Infrastructure/Configuration/JsonConfigManipulator.cs

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Cloud Delta Analysis (v16/dev)

✅ Getting better: String Heavy Function Arguments

The ratio of strings in function arguments decreases from 48.15% to 42.86%, threshold = 39.0%. The functions in this file have a high ratio of strings as arguments. Avoid adding more.

Check notice on line 193 in src/Umbraco.Infrastructure/Migrations/Install/DatabaseBuilder.cs

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Cloud Delta Analysis (v16/dev)

✅ Getting better: Complex Method

ConfigureDatabaseConnection decreases in cyclomatic complexity from 12 to 11, threshold = 9. This function has many conditional statements (e.g. if, for, while), leading to lower code health. Avoid adding more conditionals and code to it without refactoring.

Check notice on line 152 in src/Umbraco.Infrastructure/Runtime/RuntimeState.cs

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Cloud Delta Analysis (v16/dev)

✅ Getting better: Complex Method

DetermineRuntimeLevel decreases in cyclomatic complexity from 18 to 17, threshold = 9. This function has many conditional statements (e.g. if, for, while), leading to lower code health. Avoid adding more conditionals and code to it without refactoring.

Check notice on line 1 in src/Umbraco.Infrastructure/Runtime/RuntimeState.cs

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Cloud Delta Analysis (v16/dev)

✅ Getting better: Overall Code Complexity

The mean cyclomatic complexity decreases from 5.00 to 4.75, threshold = 4. This file has many conditional statements (e.g. if, for, while) across its implementation, leading to lower code health. Avoid adding more conditionals.

Check notice on line 372 in src/Umbraco.Core/DependencyInjection/UmbracoBuilder.cs

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Cloud Delta Analysis (v16/dev)

✅ Getting better: Large Method

AddCoreServices decreases from 204 to 203 lines of code, threshold = 70. Large functions with many lines of code are generally harder to understand and lower the code health. Avoid adding more lines to this function.

Check notice on line 77 in src/Umbraco.Core/DependencyInjection/UmbracoBuilder.cs

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Cloud Delta Analysis (v16/dev)

✅ Getting better: Constructor Over-Injection

UmbracoBuilder decreases from 7 to 6 arguments, threshold = 5. This constructor has too many arguments, indicating an object with low cohesion or missing function argument abstraction. Avoid adding more arguments.

Check notice on line 1 in src/Umbraco.Core/DependencyInjection/UmbracoBuilder.cs

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Cloud Delta Analysis (v16/dev)

✅ No longer an issue: Constructor Over-Injection

UmbracoBuilder is no longer above the threshold for number of arguments. This constructor has too many arguments, indicating an object with low cohesion or missing function argument abstraction. Avoid adding more arguments.

Check notice on line 132 in src/Umbraco.Web.Common/Extensions/ServiceCollectionExtensions.cs

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Cloud Delta Analysis (v16/dev)

✅ Getting better: Excess Number of Function Arguments

AddTypeLoader decreases from 7 to 6 arguments, threshold = 4. This function has too many arguments, indicating a lack of encapsulation. Avoid adding more arguments.

Check notice on line 55 in src/Umbraco.Core/Handlers/AuditNotificationsHandler.cs

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Cloud Delta Analysis (v16/dev)

✅ No longer an issue: Constructor Over-Injection

AuditNotificationsHandler is no longer above the threshold for number of arguments. This constructor has too many arguments, indicating an object with low cohesion or missing function argument abstraction. Avoid adding more arguments.

Check notice on line 33 in src/Umbraco.Core/IO/MediaFileManager.cs

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Cloud Delta Analysis (v16/dev)

✅ No longer an issue: Constructor Over-Injection

MediaFileManager is no longer above the threshold for number of arguments

Check notice on line 1 in src/Umbraco.Core/IO/ViewHelper.cs

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Cloud Delta Analysis (v16/dev)

✅ No longer an issue: String Heavy Function Arguments

The ratio of strings in function arguments is no longer above the threshold

Check notice on line 1 in src/Umbraco.Core/Media/EmbedProviders/OEmbedProviderBase.cs

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Cloud Delta Analysis (v16/dev)

✅ Getting better: Primitive Obsession

The ratio of primitive types in function arguments decreases from 71.43% to 70.83%, threshold = 30.0%. The functions in this file have too many primitive types (e.g. int, double, float) in their function argument lists. Using many primitive types lead to the code smell Primitive Obsession. Avoid adding more primitive arguments.

Check notice on line 1 in src/Umbraco.Core/Services/TrackedReferencesService.cs

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Cloud Delta Analysis (v16/dev)

✅ No longer an issue: Code Duplication

The module no longer contains too many functions with similar structure

Check notice on line 1 in src/Umbraco.Core/Services/TrackedReferencesService.cs

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Cloud Delta Analysis (v16/dev)

✅ No longer an issue: Primitive Obsession

The ratio of primivite types in function arguments is no longer above the threshold

Check notice on line 1 in src/Umbraco.Infrastructure/Persistence/Repositories/Implement/TrackedReferencesRepository.cs

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Cloud Delta Analysis (v16/dev)

✅ Getting better: Code Duplication

reduced similar code in: GetPagedDescendantsInReferences,GetPagedDescendantsInReferences,GetPagedItemsWithRelations,GetPagedItemsWithRelations and 2 more functions. Avoid duplicated, aka copy-pasted, code inside the module. More duplication lowers the code health.

Check notice on line 1 in src/Umbraco.Infrastructure/Persistence/Repositories/Implement/TrackedReferencesRepository.cs

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Cloud Delta Analysis (v16/dev)

✅ No longer an issue: Overall Function Size

The median function size in this module is no longer above the threshold

Check notice on line 1 in src/Umbraco.Infrastructure/Persistence/Repositories/Implement/TrackedReferencesRepository.cs

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Cloud Delta Analysis (v16/dev)

✅ Getting better: Overall Code Complexity

The mean cyclomatic complexity decreases from 5.23 to 5.14, threshold = 4. This file has many conditional statements (e.g. if, for, while) across its implementation, leading to lower code health. Avoid adding more conditionals.

Check notice on line 1 in src/Umbraco.Infrastructure/Persistence/Repositories/Implement/TrackedReferencesRepository.cs

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Cloud Delta Analysis (v16/dev)

✅ Getting better: Primitive Obsession

The ratio of primitive types in function arguments decreases from 90.38% to 77.27%, threshold = 30.0%. The functions in this file have too many primitive types (e.g. int, double, float) in their function argument lists. Using many primitive types lead to the code smell Primitive Obsession. Avoid adding more primitive arguments.

Check notice on line 1 in src/Umbraco.Infrastructure/Persistence/Repositories/Implement/TrackedReferencesRepository.cs

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Cloud Delta Analysis (v16/dev)

✅ No longer an issue: Excess Number of Function Arguments

GetPagedRelationsForItem is no longer above the threshold for number of arguments. This function has too many arguments, indicating a lack of encapsulation. Avoid adding more arguments.

Check notice on line 143 in src/Umbraco.Infrastructure/Persistence/Repositories/Implement/TrackedReferencesRepository.cs

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Cloud Delta Analysis (v16/dev)

✅ No longer an issue: Excess Number of Function Arguments

GetPagedRelationsForItem is no longer above the threshold for number of arguments. This function has too many arguments, indicating a lack of encapsulation. Avoid adding more arguments.

Check notice on line 1 in src/Umbraco.Infrastructure/Persistence/Repositories/Implement/TrackedReferencesRepository.cs

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Cloud Delta Analysis (v16/dev)

✅ No longer an issue: Excess Number of Function Arguments

GetPagedItemsWithRelations is no longer above the threshold for number of arguments. This function has too many arguments, indicating a lack of encapsulation. Avoid adding more arguments.

Check notice on line 317 in src/Umbraco.Infrastructure/Persistence/Repositories/Implement/TrackedReferencesRepository.cs

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Cloud Delta Analysis (v16/dev)

✅ No longer an issue: Excess Number of Function Arguments

GetPagedDescendantsInReferences is no longer above the threshold for number of arguments. This function has too many arguments, indicating a lack of encapsulation. Avoid adding more arguments.

Check notice on line 317 in src/Umbraco.Infrastructure/Persistence/Repositories/Implement/TrackedReferencesRepository.cs

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Cloud Delta Analysis (v16/dev)

✅ No longer an issue: Excess Number of Function Arguments

GetPagedItemsWithRelations is no longer above the threshold for number of arguments. This function has too many arguments, indicating a lack of encapsulation. Avoid adding more arguments.

Check notice on line 317 in src/Umbraco.Infrastructure/Persistence/Repositories/Implement/TrackedReferencesRepository.cs

See this annotation in the file changed.

@codescene-delta-analysis codescene-delta-analysis / CodeScene Cloud Delta Analysis (v16/dev)

✅ No longer an issue: Excess Number of Function Arguments

GetPagedDescendantsInReferences is no longer above the threshold for number of arguments. This function has too many arguments, indicating a lack of encapsulation. Avoid adding more arguments.